通过表单无法正常更新mySQL数据字段

时间:2012-11-09 14:26:07

标签: php mysql forms updates

我正在尝试编辑mySQL数据库生成列表中的项目。这是代码:

<?php
// contact to database
$connect = mysql_connect("<HOST>", "<USER>", "<PASSWORD>") or die ("Error , check your server connection.");
mysql_select_db("tvc");
?>

<html>
<head>
<title></title>
</head>

<body>

<?php 
$result = mysql_query("UPDATE closet SET
    pattern = '{$_POST['pattern']}'
    WHERE id='{$_POST['id']}'") or die ("Error in query");

// if successfully updated. 
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='patterns.php'>Back to Patterns List</a>";
}

else {
echo "ERROR";
}

?>

</body>
</html>

我收到'查询中的错误'错误消息,我无法弄清楚导致它的原因。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您忘记在,

之前删除WHERE

更改

$result = mysql_query("UPDATE closet SET
    pattern = '{$_POST['pattern']}',
    WHERE id='{$_POST['id']}'") or die ("Error in query");

$pattern = mysql_real_escape_string($_POST['pattern']);
$id= mysql_real_escape_string($_POST['id']);

$result = mysql_query("UPDATE closet SET
    pattern = '".$pattern."' WHERE id='".$id."'") or
die("Could not connect: " . mysql_error());

建议:

1.学会防止MySQL注入:Good Link

2.建议不要使用扩展名来编写新代码。相反,应该使用mysqli或PDO_MySQL扩展。更多阅读:PHP Manual