This question already has answers here:
When to use single quotes, double quotes, and backticks in MySQL
                                
                                    (12个答案)
                                
                        
                                2年前关闭。
            
                    
我的MYSQL数据库中有一个值,我要做的就是用新值增加当前值,这就是我尝试过的

    } elseif ($gametype == "veckanskluring"){
    $sql = "UPDATE users SET veckanskluring='veckanskluring'+'$score' WHERE id='$id'";
$retval = mysql_query( $sql, $link );
        echo "GAME == $gametype";
}


但是出于某种奇怪的原因,这是行不通的。
我在网上搜索并找到了示例,但它们看上去都几乎与我的代码完全相同。

//显然,这不是全部代码。
除了将新值添加到旧值的部分之外的所有内容都可以正常工作,并且如果我删除“ veckanskluring” +,它将进行更新而不会出现任何问题。
我坚信这部分出了点问题-“ veckanskluring” +,而另一部分工作正常。
// NOTE2分数始终为999,如果我以后要更改,请将其设置为$ score。

更新-

我的错,很明显我已经把''veckanskluring了。

$sql = "UPDATE users SET veckanskluring=veckanskluring +'$score' WHERE id='$id'"; <-- Working.

最佳答案

假设$ score和$ id是数字,则您不应该在此var周围使用单引号

并假设veckanskluring是列名,则不得使用单引号和列名

"UPDATE users SET veckanskluring= veckanskluring +$score WHERE id=$id";


但是不建议在SQL中使用php var进行SQL注入。.看看您的mysql驱动程序的bindig参数

10-04 20:31