一个MySQL插件使用php生成3行而不是1行

时间:2014-03-19 12:12:10

标签: php mysql

我有一个奇怪的问题。

当我用PHP文件执行以下语句时,它生成3行而不是1行。什么可能导致这个????该程序不循环。我使用smarty和php与mysql数据库。

$sql ="INSERT INTO tbl_order ('user_id', 'product_id', 'package_id', 'order_payment_amt',
      'order_product_items', 'order_revisions', 'order_transactionid', 'order_status',
      'order_turnaroundtime', 'order_date')
VALUES ('$user_id', '$product_id', '$package_id', 
        '$order_payment_amt', '$order_product_items', '$order_revisions', '$order_transactionid', 
        '$order_status', '$order_turnaroundtime', '$created_date')";
$order_id = $Db->execInsertQuery($sql); return $order_id;

2 个答案:

答案 0 :(得分:1)

很明显,某事导致该查询执行三次。但是,如果不检查程序流程,就不可能分辨出什么,如何或为什么。

如果您没有日志工具并且没有容易使用的调试器,您可以尝试添加UNIQUE INDEX,例如user_id, product_id, package_id,以便额外的INSERT失败,从而导致程序可以转储一些可能有用的信息,告知它崩溃的地方。

答案 1 :(得分:0)

查询本身只会插入一行。您可能多次执行它,如果没有周围的代码,这是不可理解的。