【发布时间】:2011-11-25 11:18:49
【问题描述】:
我在很久以前写的一个网站上遇到了一些问题,在查看它之后,时不时地(超过 5,000 次插入有 6 次)有些插入没有完成。例如:
mysql_query("INSERT INTO `invoices` (subtotal, vat, total) VALUES ('30.00', '6.00', '36.00');", $conn);
$invoice_id = mysql_insert_id();
for($i=0; $i < 3; $i++) mysql_query("INSERT INTO `invoice_items` (item_name, invoice_id, subtotal, vat, total, tax_code) VALUES ('Bricks', '$invoice_id', '10.00', '2.00', '12.00', 'T1');", $conn);
有时for循环中的那些不会被插入,显然for循环是一个foreach,它在实际代码中循环遍历一个数组..
我猜是因为连接在中途中断..
我想确保所有内容都被插入或什么都不插入,我应该改用事务吗?
院长。
【问题讨论】:
-
这很奇怪。 mysql日志有什么要说的?使用 mysql_query('...') 或 die(mysql_error());
标签: php mysql transactions