无法将数据添加到数据库中的现有条目

时间:2013-01-21 16:38:11

标签: php mysql

如果我尝试这不起作用:

<?php
include ($_SERVER['DOCUMENT_ROOT'] . '/contact/config.inc.php');

$hash = hash('md5', $_POST["password"]);

$connection = mysql_connect($host, $user, $password);

mysql_select_db($database, $connection);

mysql_query("UPDATE data
SET password=" . $hash . 
"WHERE id=" . $_POST["id"]);

mysql_close($connection);
?>

数据不会显示在数据库中。我尝试将哈希和id设置为固定值,仍然无法正常工作。我确信数据库连接可以正常工作,因为它可以在其他脚本中使用。当我echo时,所有变量都会正确显示。

我是PHP和MySQL的新手。

2 个答案:

答案 0 :(得分:1)

尝试在值周围添加quotes

mysql_query("UPDATE data SET password='" . $hash . "' WHERE id='" . $_POST["id"] . "'") ;

注意:不推荐使用Mysql扩展程序。请使用Mysqli_ *或PDO扩展名。

答案 1 :(得分:0)

之所以如此,是因为你错误地逃避了查询,你错过了变量周围的引号。

改变这个:

mysql_query("UPDATE data
SET password=" . $hash . 
"WHERE id=" . $_POST["id"]);

To This:

mysql_query("UPDATE data
SET password='" . $hash . 
"' WHERE id='" . $_POST["id"] ."'");

在输入时,我注意到你没有回到你的查询中来关闭你的逃生。

注意我添加了引号并返回查询以关闭引号。