2012-11-09 36 views
0

我試圖編輯mySQL數據庫生成列表中的項目。這裏是代碼:通過不工作的表格更新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> 

我得到'錯誤在查詢'錯誤信息,我無法弄清楚是什麼導致它。

任何幫助將不勝感激!

+0

如果你不看錯誤信息提示,你不會發現。你的代碼中也有明顯的數據庫轉義缺失。在那工作。 (或者使用PDO並準備語句以避免這種繁瑣的方法。) – mario

+0

不錯的[SQL注入漏洞](http://bobby-tables.com)。享受你的服務器被毀壞。 –

回答

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.Learn從MySQL注射,以防止:Good Link

2.Mysql擴展不建議用於編寫新代碼。相反,應該使用mysqli或PDO_MySQL擴展。更多閱讀:PHP Manual

+0

我剛剛刪除了,之前,我仍然得到相同的錯誤。 – Cynthia

+0

你能粘貼回聲「更新衣櫃設置 pattern ='{$ _POST ['pattern']}', WHERE id ='{$ _ POST ['id']}'」; – GBD

+0

我應該在哪裏粘貼文件? – Cynthia