只需尝试将点添加到名为“Points”的列中的现有值。我已经阅读了一些暗示下面的文章,但这对我不起作用。也许是因为我使用的是mysqli而不是mysql?有什么想法吗? if语句工作正常。
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);
}
答案 0 :(得分:4)
如果您的列名以数字开头,则必须在反引号中引用它:
$query = "UPDATE users SET Points=Points+3 WHERE `1A`=$m1A";
和
$query1 = "UPDATE rounds SET `1A` = 1";
我建议使用带有绑定参数的预准备语句来避免sql注入问题。
编辑:如果您的1A
列不是整数列且值是字符串,则需要引用它们。
$query = "UPDATE users SET Points=Points+3 WHERE `1A`='$m1A'";
^ ^
虽然这个问题可以通过准备好的声明自动解决......