查询在MySQL中有效但我得到的查询是空的'用PHP

时间:2015-10-07 16:49:22

标签: php mysql

以下代码是简单密码管理器的一部分。我得到一个错误,说Query是空的,但查询在MySQL中工作得很好。 (1和测试值最初是变量我只是将它们更改为值作为我的故障排除的一部分)。我也知道列名用户和密码可能有问题,但我添加了`围绕它们。该代码还有什么问题?

$change_pass_query = "UPDATE `user` SET `password` = PASSWORD('test') WHERE id = 1";
$change_pass_result = mysql_query($change_pass_query) or die('Error. Change Password Query failed: '. mysql_error());

3 个答案:

答案 0 :(得分:0)

尝试像这样格式化SQL:

UPDATE `user` SET `password` = 'test' WHERE `id` = 1

答案 1 :(得分:0)

http://php.net/manual/en/function.mysql-query.php

请注意该页面顶部的警告。没有人使用mysql_query或任何普通mysql函数。研究mysqli / mysqli_query和PDO。

以下是如何使用PDO执行此操作的方法:

$pdo = new PDO("mysql:host=localhost;dbname=mydb","username","password");
$stmt = $pdo->prepare("UPDATE `user` SET `password` = PASSWORD(:password) WHERE id = :id");
$result = $stmt->execute(array(':password' => "test",':id' => 1));
if (!$result) die('Error. Change Password Query failed: '. mysql_error());

以下是有关PDO的一些文档:http://php.net/manual/en/book.pdo.php

答案 2 :(得分:0)

我最终重命名了所有表格和字段,因此我没有使用任何保留字,因为我认为问题可能就是这样。问题仍然存在。然后我将我的代码复制到另一个PHP框中,等等,代码工作得很好。我将不得不把它归结为旧版本盒子上的PHP版本/安装问题,然后再继续。代码没有任何问题。