【发布时间】:2012-12-13 19:29:10
【问题描述】:
我有一个积分系统,人们可以用积分购买不同的东西。现在我要做的是让人们可以升级到 [PRO] 用户。当他们注册时,他们以 [user] 身份登录 mysql。我正在编写代码,以便在行动后他们失去 50 分,他们的 [user] 被 [PRO] 取代。但现在我用 [pro] 替换。这是我的代码:
$insert = "UPDATE `users` SET `points` = (`points`-50) WHERE `username` = '".$username."' and points > 50";
mysql_query($insert);
if (mysql_affected_rows() > 0)
{
// other codes
$insert = "UPDATE users SET rights=' [user]' WHERE rights=' [pro]' WHERE `username` = '".$username."'";
mysql_query($insert);
header('location: succes.php');
}else{
echo "You don't have enough points to upgrade to [PRO]";
}
【问题讨论】:
-
你看到的结果是什么?
-
旁注:在代码的第一行使用之前,$username 是否安全转义?
-
@nappingrabbi:我没有得到结果...也许这就是为什么?-.-
-
第二个旁注:如果用户有 =50 点,他可以得到 pro 吗?可能由你的第一行代码条件应该是
WHEREusername` = '".$username."' 和 points >= 50"`
标签: php database insert sql-update