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 に答える