php:sql更新查询未按预期工作
我正在使用以下查询php:sql更新查询未按预期工作,php,mysqli,sql-update,Php,Mysqli,Sql Update,我正在使用以下查询 $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 你知道为什
$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
你知道为什么所有的单次登录都设置为空,以及如何解决这个问题吗
编辑:我还尝试使用mysql_query()…这是相同的。尝试使用
LIMIT
"UPDATE `edit_users` SET `password` = '" . hash('sha512', $_POST['change_pw_password']) . "', `single_login_pw` = NULL WHERE `id` = '" . $userinfo['id'] . "' LIMIT 1"
我还将字符串周围的双引号改为单引号。试试这个
$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");
根本没有改变什么。