【问题标题】:pdo mysql data retreivalpdo mysql 数据检索
【发布时间】:2015-03-02 14:39:35
【问题描述】:

请帮助我的数据库设计或 sql 优化: 我有两张表 stock 和 stock_tally。 stock 表包含项目列表,而 stock_tally 包含项目的所有交易。

My Queries?

添加新产品

  1. 将产品添加到库存表

  2. 将相同添加到 stock_tally

发行产品

  1. 从库存表中删除库存
  2. 在此处输入代码从库存表中检索 stock_level
  3. 将 stock_level 和要发出的数量添加到 stock_tally 中

问题代码

 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;
    }

【问题讨论】:

  • 这不是此类问题的网站。这看起来像是一项家庭作业。 StackOverflow 是一个网站,用于询问您在使用一段代码时遇到的特定问题,而不是为您编写代码。你试过什么?你得到什么错误?您的结果与您预期的结果有何不同?
  • 好吧,我的代码运行良好。我只觉得应该有一个更好的逻辑来完成它。而不是这个我的三倍。不过我是初学者。

标签: php mysql sql database pdo


【解决方案1】:

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

【讨论】:

  • 谢谢,我的代码没有任何错误,但我只想改进我的编程逻辑。
  • 是的,我认为还有很多需要改进的地方,但如果我不知道当前设计的原因,我不知道该怎么办。如需入门课程,请参阅:r937.com/relational.html
猜你喜欢
  • 2014-12-12
  • 2013-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-08
  • 1970-01-01
  • 2013-05-12
  • 2011-08-25
相关资源
最近更新 更多