Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php:sql更新查询未按预期工作_Php_Mysqli_Sql Update - Fatal编程技术网

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");

根本没有改变什么。