0

我正在尝试更新 MySQL 表中一行中的一列。该列是“投票”列,当有人提交 HTML 表单时,会有一个隐藏的输入,其值为“1”,该输入会被提交并发布。这是我用来尝试更新投票计数的代码:

if(isset($_POST['image_id']) && isset($_POST['vote'])){
    $image_id = $mysqli->real_escape_string($_POST['image_id']);
    $vote = $mysqli->real_escape_string($_POST['vote']);

    $sql_users_vote = "SELECT * FROM users WHERE id='$image_id'";
    $result_users_vote = $mysqli->query($sql_users_vote);
    $row_vote = mysqli_fetch_array($result_users_vote);
    $votes_count = $row_vote['votes'];
    $new_votes = $votes_count + $vote;

    $sql_vote = "UPDATE users WHERE id='$image_id' SET votes=$new_votes";
   $result_vote = $mysqli->query($sql_vote);
 }

我已经回显了变量,直到 $sql_vote 和 $image_id、$vote、$votes_count 和 $new_votes 都回显出正确的值。我猜 UPDATE 语法有问题。我一遍又一遍地检查它,但似乎找不到任何东西。我知道我在 UPDATE 中没有在 $new_votes 周围加上引号,因为我相信这是正确的语法。我已经用引号试过了,它也不起作用。

有人可以帮我找出问题吗?谢谢!

4

2 回答 2

3

SET 不是在 WHERE 之前吗?

$sql_vote = "UPDATE users SET votes = $new_votes WHERE id = '$image_id'"

还是没关系?

于 2012-11-27T02:19:48.303 回答
1
$sql_vote = "UPDATE users SET votes=$new_votes WHERE id='$image_id'";
于 2012-11-27T02:18:22.133 回答