PHP Mysql更新问题

时间:2011-01-24 04:40:03

标签: php mysql

我遇到了一个我无法弄清楚的问题。我有一些代码允许用户选择,比方说,他们最喜欢哪种类型的水果。如果他们之前选择了“苹果”作为他们的最爱,并希望将其改为“橙子” - 那么该剧本表现良好。

但如果他们在选择“苹果”时选择“苹果”,则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!';
    }

同样,只要新选择和数据库中的内容不一样,这就有效。如果他们是:我得到了哎呀!错误。

1 个答案:

答案 0 :(得分:1)

为什么需要更新字段以包含已包含的值? 无论如何,这可以通过改变表结构来解决。您需要从fav_fruit列中删除唯一标记。