MySQL 更新查询中的增量值

2022-08-30 06:34:01

我已经制作了这个代码来给出+1分,但它不能正常工作。

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

该变量是用户现在的点。我希望它能给它加一个。举个例子,如果他有5分,它应该是5 + 1 = 6,但事实并非如此,它只是变为1。$points

我做错了什么?


答案 1

只需递增数据库中已存在的值

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

此代码适用于现代 PHP 版本中的 PDO 和 mysqli


答案 2

您无需查询实际的点数即可执行此操作,因此在脚本执行期间可以节省一些时间和资源。

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

推荐