我正在使用PHP和MySQL。
MySQL无法更新我的表中的最后一个单元格。我不知道为什么。
基本上,我在数组上使用foreach()循环进行10次INSERT。在每个循环中,我使用以下代码:
$sql = "INSERT INTO table1 (name, address, phone, date_time, process_started, process_ended)
VALUES
('$name', '$address', '$phone', NOW(), 'started', '')";
$result = @mysql_query($sql, $con) or die(mysql_error());
这很好;所有信息都插入到表中。
然后,当我回过头来更新“process_ended”字段时,前9行的更新都正常。但是第10行的“process_ended”单元格无法更新。
这是更新的代码。它不使用循环;我只是将其输入脚本中10次。
$sql = "UPDATE table1 SET process_ended = 'ended' WHERE name = '$name' && address = '$address'";
$result = @mysql_query($sql, $con) or die(mysql_error());
我已经检查过名称和地址单元格,确保与脚本中的匹配;它们是匹配的。我还三次检查了我的脚本,确保没有拼写错误。
我认为这与MySQL有关,因为当我交换更新的顺序时,总是最后一个单元格不能更新。我已经删除并重新创建了表格,并在cPanel中点击了修复DB按钮,它显示一切正常。
&&
不是正常的 SQL 语法。你应该使用AND
代替。 - wuputah@mysql_query
中删除@
,你可能会收到来自 MySQL 的错误消息,告诉你出了什么问题。 - Mischa