我有一个奇怪的问题。
当我用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;
答案 0 :(得分:1)
很明显,某事导致该查询执行三次。但是,如果不检查程序流程,就不可能分辨出什么,如何或为什么。
如果您没有日志工具并且没有容易使用的调试器,您可以尝试添加UNIQUE INDEX
,例如user_id, product_id, package_id
,以便额外的INSERT
失败,从而导致程序可以转储一些可能有用的信息,告知它崩溃的地方。
答案 1 :(得分:0)
查询本身只会插入一行。您可能多次执行它,如果没有周围的代码,这是不可理解的。