-2

我正在使用以下查询

$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() ......这是同一回事。

4

2 回答 2

0

尝试使用LIMIT

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

我还将您的双引号更改为您的字符串周围的单引号。

于 2013-02-21T14:45:02.623 回答
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");
于 2013-02-21T14:45:08.353 回答