输出上的$sql语句出错。
您的SQL语法出现了错误;请检查与MySQL服务器版本对应的手册,以获得在第1行附近使用的正确语法--这指的是UPDATE users activationkey语句。
$query = "SELECT * FROM users";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
if ($queryString == $row["activationkey"]){
$sql="UPDATE users SET activationkey = '', status='activated' WHERE (id = $row[id])";
if (!mysql_query($sql)) { *die('Error: in activation' . mysql_error());}
}
}我不知道为什么那个语法是错的。
发布于 2012-05-02 20:20:34
$query = "UPDATE `users` SET `activationkey` = '', status='activated' WHERE `id` = '$row['id']'";提示:我建议保护您的id,因为sql注入可以在该查询中完成。我的意思是说id =‘$row’in‘’,使用WHERE id = (int) ($row‘in’),这确保查询中只给出一个整数。如果它是字符串我们mysql_real_escape_string($行‘string’)
https://stackoverflow.com/questions/10420143
复制相似问题