-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 に答える