如果我尝试这不起作用:
<?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的新手。
答案 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"] ."'");
在输入时,我注意到你没有回到你的查询中来关闭你的逃生。
注意我添加了引号并返回查询以关闭引号。