MySQL更新クエリで値を増分する 質問する

MySQL更新クエリで値を増分する 質問する

+1 ポイントを付与するためのコードを作成しましたが、正常に動作しません。

mysql_query("
    UPDATE member_profile 
    SET points= ' ".$points." ' + 1 
    WHERE user_id = '".$userid."'
");

変数$pointsは、現在ユーザーのポイントです。これに 1 を追加したいと思います。たとえば、ユーザーが 5 ポイントを持っている場合、5+1 = 6 になるはずですが、そうではなく、1 に変わります。

何を間違えたのでしょうか?

ベストアンサー1

データベースにすでに存在する値を単純に増やす

$sql = "UPDATE member_profile SET points = points + 1 WHERE user_id = ?";
$db->prepare($sql)->execute([$userid]);

このコードは、最新のPHPバージョンではPDOとmysqliの両方で動作します。

おすすめ記事