我遇到了一个我无法弄清楚的问题。我有一些代码允许用户选择,比方说,他们最喜欢哪种类型的水果。如果他们之前选择了“苹果”作为他们的最爱,并希望将其改为“橙子” - 那么该剧本表现良好。
但如果他们在选择“苹果”时选择“苹果”,则MYSQL更新调用会中断并返回错误。它就像它不会用相同的数据写自己,新值必须是唯一的。我很茫然....这是更新位:
// UPDATE THEIR FRUIT SELECTION...
$q = "UPDATE account SET fav_fruit='" . $row['fruit'] . "' WHERE act_id=$act_id LIMIT 1";
$r = @mysqli_query ($dbc, $q);
if (mysqli_affected_rows($dbc) == 1) { // If it ran OK.
echo 'success!';
} else {
echo 'oops!';
}
同样,只要新选择和数据库中的内容不一样,这就有效。如果他们是:我得到了哎呀!错误。
答案 0 :(得分:1)
为什么需要更新字段以包含已包含的值?
无论如何,这可以通过改变表结构来解决。您需要从fav_fruit
列中删除唯一标记。