我正在使用PHP和MySQL。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中的修复数据库按钮,它说没关系。
我怀疑这是原因,但'&&'不是正常的SQL语法。你应该使用'AND'来代替。 – wuputah 2010-09-18 22:38:48
@wuputah它根据手册确实在MySQL中有效,但你说得对,通常不会使用它。 – 46bit 2010-09-18 22:43:49
尝试在mysql上手动添加手动添加的数据(最后一个查询的echo $ sql)并查看它是否仍然无效。 – 46bit 2010-09-18 22:45:50