2013-02-21 185 views
-2

我使用下面的查询PHP:SQL更新查询工作不正常

$mysqli->query("UPDATE `edit_users` SET `password` = \"" . hash('sha512', $_POST['change_pw_password']) . "\", `single_login_pw` = NULL WHERE `id` = \"" . $userinfo['id'] . "\""); 

至于结果这改变了与特定ID的用户密码,但套single_login_pw为所有用户为NULL。

任何想法为什么所有的single_login_pws设置为NULL以及如何解决问题?

编辑:我也尝试使用mysql_query()...它是同样的事情。

回答

0

尝试使用LIMIT

"UPDATE `edit_users` SET `password` = '" . hash('sha512', $_POST['change_pw_password']) . "', `single_login_pw` = NULL WHERE `id` = '" . $userinfo['id'] . "' LIMIT 1" 

我也改变了双引号来在你的字符串单引号。

+0

一点都没有改变任何东西。 – user2095506 2013-02-22 07:57:22

0

试试这个

$hash = hash('sha512', $_POST['change_pw_password']); 
$uid = $userinfo['id']; 
$mysqli->query("UPDATE edit_users SET password = $hash, single_login_pw = NULL WHERE id = $uid"); 
+0

没有为我工作...不会改变任何东西 – user2095506 2013-02-22 07:52:08