2013-02-21 102 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