2012-11-27 42 views
0

我想更新MySQL表中一行中的一列。該列是「投票」列,當有人提交HTML表單時,隱藏的輸入值爲「1」,可以提交併發佈。這是我使用的嘗試更新的投票代碼:MySQL錶行將不會更新

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

我已經echo'ed了變量,直到$ sql_vote和$ image_id,$票,$ votes_count和$ new_votes所有回聲出正確的值。我猜在UPDATE語法中有一個問題。我一遍又一遍檢查了它,但似乎無法找到任何東西。我知道我在UPDATE中沒有引用$ new_votes,因爲我相信這是正確的語法。我用引號試過了,它也不是那種方式。

有人能幫我找出問題嗎?謝謝!

回答

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

你是第一個。謝謝! – MillerMedia

+0

很高興它的工作。 – ethorn10

+0

我可以在8分鐘左右接受,然後這樣做! – MillerMedia

3

SET是否在WHERE之前?

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

還是沒關係?

+0

就是這樣,你被另一個人打了一分鐘,回答肯定是+1。 – MillerMedia

+0

解釋超過代碼值得額外的時間,國際海事組織 – ysth