MySQLi更新的增量值 [英] Increment value on MySQLi Update

查看:39
本文介绍了MySQLi更新的增量值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

只需尝试将点添加到名为点"的列中的现有值.我读过几篇文章暗示了下面的内容,但是对我来说不起作用.也许是因为我使用的是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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆