0

此查询不更新数据库中的行。

$link = mysqli_connect("localhost", "username", "password", "database");
mysqli_query("UPDATE `LOGIN` SET `HASH`='$hash' WHERE `USER`='$user'");

它根本不会更新行中的哈希。我检查了 PMA 中的查询,它似乎运行正常。我已经在屏幕上回显了我的 $hash 和 $user 变量,以确保它们是有效的,而且它们确实有效。mysqli_connect 凭据也正确...任何输入?

我也将它添加到 mysqli_query 上,它只是打印出“错误描述:”,因为我相信我的服务器有错误关闭。

or die("Error desc: ".mysqli_error($link));

感谢您的任何帮助!

编辑:该表有大约 3 条记录,所以这里没有重复的问题。此外,在任何人提到它之前,我将为每个用户添加一个主键到表中,一旦我弄清楚发生了什么,我会将 mysqli 切换到 OO 样式。

4

2 回答 2

1

alfasin 在评论中写道使用 bind_param (http://www.php.net/manual/en/mysqli-stmt.bind-param.php)

效果很好。它对 OO 和程序都有好处。

于 2012-07-19T22:55:22.357 回答
-1

$link = mysqli_connect("localhost", "username", "password", "database"); $result = mysqli_query($link, "UPDATE LOGINSET HASH='$hash' WHERE USER='$user'");

于 2012-07-19T23:04:30.960 回答