此查询未更新数据库中的行。
$link = mysqli_connect("localhost", "username", "password", "database");
mysqli_query("UPDATE `LOGIN` SET `HASH`='$hash' WHERE `USER`='$user'");
它根本不更新行中的哈希值。我已经检查了PMA中的查询,它似乎正在运行。我已经在屏幕上回显了我的$ hash和$ user变量以确保它们是有效的,并且它们是。 mysqli_connect凭据也正确...任何输入?
我还在mysqli_query上添加了这个,它只打印出“Error desc:”,因为我认为我的服务器有错误。
or die("Error desc: ".mysqli_error($link));
感谢您的帮助!
编辑:该表有大约3条记录,所以这里没有重复问题。此外,在任何人提到它之前,我将为每个用户添加一个主键,我会在我弄清楚发生了什么后将mysqli切换到OO样式。
答案 0 :(得分:1)
alfasin在评论中写道使用bind_param(http://www.php.net/manual/en/mysqli-stmt.bind-param.php)
效果很好。这对OO和程序都有好处。
答案 1 :(得分:-1)
$ link = mysqli_connect(“localhost”,“username”,“password”,“database”);
$ result = mysqli_query($ link,“UPDATE LOGIN
SET HASH
='$ hash'WHERE USER
='$ user'”);