现在表中的值是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 . "'";