2016-05-22 11 views
3

私は2つの列を追加した投票と呼ばれるこのデータベーステーブルを作った:好き嫌い。 htmlには2つのボタンがあります:ボタンのように、ボタンを嫌いです。 私は好きな列の値を1ずつインクリメントしたいのですが、私は間違っているようです。Mysqlデータベーステーブルの列の値の増分が動作しません

PHP:

if(isset($_POST['like'])) { 

    $sql = 'UPDATE votes'; 
    $sql .= 'SET likes = likes + 1';  
    $sql .= 'WHERE id = 1'; 

    // prepare 
    $stmt = $pdo->prepare($sql); 

    // execute 
    $result = $stmt->execute(); 
} 

HTML:

<form action="" method="post"> 
<input type="submit" value="Like" name="like"> 
<input type="submit" value="Dislike" name="dislike""> 
</form> 
+5

投票とSETとの間にスペースがなく、+1とWHEREがあります。あなたの式は基本的に 'UPDATE votesSET likes = likes + 1WHERE id = 1'です - これは' $ sql'をエコーすることで検証できます。また、このような短いクエリは1行に入れることができます。 – Qirel

+0

エラー出力はどこですか? –

答えて

4

それはタイプミスです、あなたはそれぞれの行の間にスペースが不足しています。

$sql = 'UPDATE votes '; 
$sql .= 'SET likes = likes + 1 ';  
$sql .= 'WHERE id = 1'; 
関連する問題