sql添加数字以对数据库中的值求和



现在表中的值是1,我想加5,所以最终结果是6。

更新总是得到5,所以我怎么能在表中的当前数字上加5呢?

$amount = 5
$sql = "UPDATE `table_projects` SET `package1`= $amount WHERE `id`='$userid'";

您只需在运算符=的右侧添加package列,即可将$amount添加到自身中。

$sql = "UPDATE `table_projects` 
SET `package1`= `package1` + " . (int)$amount . " 
WHERE `id` = '$userid'";

注意:

  • 我在$amount上为(int)添加了显式类型转换。如果它是十进制/浮点值,则可以使用(float)
  • 您的代码容易受到SQL注入相关的攻击。即使是real_escape_string也不能完全保护它。请学会使用准备好的报表
  • 如果您不打算使用Prepared Statements,并且id($user_id(是整数值

我也会对它进行类型转换

$sql = "UPDATE `table_projects` 
SET `package1`= `package1` + " . (int)$amount . " 
WHERE `id` = '" . (int)$userid . "'";

最新更新