在MySQL数据库中,我有一个表名data
。此表中有多个文件。
此时Field1
具有test
作为值。现在用户想要更新表,并将test
放入值中。
我的查询失败了,您可以看到echo "Database updated"
没有执行。
似乎受影响的行返回0。
$stmt = $mysqli->prepare("UPDATE `data` SET `field1` = 'test' WHERE `key` = ?")
$stmt->bind_param("s", $mykey);
$stmt->execute();
$nrows = $stmt->affected_rows;
if ($nrows== 1) {
echo "Database updated."
}
我想知道如何设计这个查询才能正常工作。如果新值与现有值相同。
谢谢。
最佳答案
很久以前我也遇到过同样的情况。我做的只是先检查一下记录是否需要更新。另请参见this和this accepted answer
关于php - php mysqli更新表,数据相同返回0受影响的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35333988/