繁体   English   中英

MySQL表行将不会更新

[英]MySQL table row will not UPDATE

我正在尝试更新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左右的引号,因为我认为这是正确的语法。 我已经试过用引号,但也不行。

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

SET不在WHERE之前吗?

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

还是没关系?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM