我有一个IPN脚本正在对收到的付款金额做一些工作,当收到一定金额时,它会在用PayPal的IPN服务验证后更新数据库中的许可证代码。
这个SQL不对,它没有更新。我的其余代码很好,因为它发送了一封电子邮件,但是SQL错误在哪里?现在已经很晚了,我间隔了......
if ($amt == "77.00")
{
mysql_query("UPDATE login_users SET license_code = 3 WHERE username = ". $username ."") or die(mysql_error());
// Change license code in database
}
答案 0 :(得分:2)
如果用户名是字符串,则需要引号。
WHERE username = '". $username ."'
还要确保$username
已正确清理:
$username = mysql_real_escape_string(... wherever the value is coming from ...);
答案 1 :(得分:0)
将SET
放在WHERE
之前,并在用户名
"UPDATE login_users SET license_code = 3 WHERE username = '". $username ."'";