Php pdo mysql数据检索

Php pdo mysql数据检索,php,mysql,sql,database,pdo,Php,Mysql,Sql,Database,Pdo,请帮助我进行数据库设计或sql优化: 我有两张存货和盘点表。库存表包含项目列表,而库存盘点包含项目的所有交易 My Queries? 添加新产品 将产品添加到库存表 将其添加到库存盘点中 发行产品 从库存表中删除库存 在此处输入代码从库存表中检索库存水平 将库存水平和要发布的数量添加到库存盘点中 发行代码 try{ $this->db->beginTransaction(); $q1 = $this->db->prep

请帮助我进行数据库设计或sql优化: 我有两张存货和盘点表。库存表包含项目列表,而库存盘点包含项目的所有交易

My Queries?
添加新产品

将产品添加到库存表

将其添加到库存盘点中

发行产品

从库存表中删除库存 在此处输入代码从库存表中检索库存水平 将库存水平和要发布的数量添加到库存盘点中 发行代码

 try{
            $this->db->beginTransaction();

            $q1 = $this->db->prepare("UPDATE stock SET stock_level =? where id=?");

            $res1 = $q1->execute(array($qty, $id ));


    $q2 = $this->db->prepare("SELECT * FROM stock WHERE id= ?");
        $q2->bindValue(1, $id);
        $q2->execute();
        $res2 = $q2->fetch();


    $q3 = $this->db->prepare("INSERT INTO stock_TALLY (id_fk, stocl_level, issues, update) VALUES (?,?,?,?)" );
        $res3 = $q1->execute(array($id,$res2,0, $qty));

    if($res2 && $res3){
      $this->db->commit();
              return true;

    }


    }catch(PDOException $e){
        $this->db->rollBack();   //echo  $e->getMessage();
        return false;
    }

在设计数据库时,您要做的第一件事是清楚地写下它现在以及可能在不久的将来应该能够做什么。你没有那样做,或者至少你没有告诉我们。您希望我们如何告诉您您的数据库设计和sql是否最优?

这不是解决此类问题的网站。这看起来像是家庭作业。StackOverflow是一个网站,它向您询问有关代码中的特定问题,而不是为您编写代码。你试过什么?你犯了什么错误?您的结果与预期的结果有什么不同?好吧,我的代码运行良好。我只是觉得应该有更好的逻辑来完成它。而不是这一轮我的三倍。不过我是一个初学者。谢谢,我的代码没有任何错误,但我只想改进我的编程逻辑。是的,我认为还有很多需要改进的地方,但是如果我不知道当前设计的原因,我就说不出来了。有关入门课程,请参见: