简体   繁体   中英

MySQL table row will not UPDATE

I am trying to update a column in a row in a MySQL table. The column is the 'votes' column and when someone submits an HTML form there is a hidden input with a value of "1" that gets submit and posted. This is the code I am using to try to update the vote count:

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);
 }

I have echo'ed out the variable up until $sql_vote and $image_id, $vote, $votes_count and $new_votes all echo out the correct values. I'm guessing that there is a problem in the UPDATE syntax. I've checked it over and over but can't seem to find anything. I know that I don't have quotes around $new_votes in the UPDATE because I believe that is correct syntax. I've tried it with quotes and it doesn't work that way either.

Can someone help me identify the problem? Thanks!

Doesn't the SET come before the WHERE?

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

Or does it not matter?

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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