MySQLi更新的增量值 [英] Increment value on MySQLi Update
问题描述
只需尝试将点添加到名为点"的列中的现有值.我读过几篇文章暗示了下面的内容,但是对我来说不起作用.也许是因为我使用的是mysqli而不是mysql?有什么想法吗? if语句可以正常工作.
Simply trying to add points to an existing value in a column named 'Points'. I've read a few articles that suggest the beneath, but it's not working for me. Perhaps because I'm using mysqli rather than mysql? Any thoughts? The if statement works fine.
if (!empty($m1A) && ($r1A == 0)) {
// Rewards pts
$query = "UPDATE users SET Points=Points+3 WHERE 1A='$m1A'";
$result = mysqli_query($conn, $query);
// Record reward of pts
$query1 = "UPDATE rounds SET 1A = 1";
$result2 = mysqli_query($conn, $query1);
}
推荐答案
如果列名以数字开头,则必须在反引号中将其引用:
If your column name starts with a number, you have to quote it in backticks:
$query = "UPDATE users SET Points=Points+3 WHERE `1A`=$m1A";
和:
$query1 = "UPDATE rounds SET `1A` = 1";
我建议使用带有绑定参数的预备语句,以避免sql注入问题.
And I would recommend using a prepared statement with bound parameters to avoid sql injection problems.
编辑:如果您的1A
列不是整数列,并且值是字符串,则需要用引号引起来.
If your 1A
column is not an integer column and the values are strings, you need to quote them.
$query = "UPDATE users SET Points=Points+3 WHERE `1A`='$m1A'";
^ ^
尽管可以通过准备好的语句自动解决该问题...
Although that problem would be solved automatically with a prepared statement...
这篇关于MySQLi更新的增量值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!