我不知道我在做什麼錯,但我的小更新代碼給了我一個錯誤消息,我無法解決如何解決它。不能更新MySQL表
這裏是我的代碼:
<?php
include('dbconfig.php');
$con = mysql_connect($host, $username, $password) or die(mysql_error()) ;
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db($db, $con);
function sqlEscape($string){
return "'".mysql_real_escape_string($string)."'";
}
if(isset($_POST['submit'])){
$q = "UPDATE records SET `name` = " + sqlEscape($_POST['name']) + ",
`age` = " + sqlEscape($_POST['age']) + ",
`location` = " + sqlEscape($_POST['location']) + ",
`telephone` = " + sqlEscape($_POST['telephone']) + "
WHERE id = $_POST[id]";
mysql_query($q) or die(mysql_error());
}
?>
這是它打印出錯誤消息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0' at line 1
有人可以看到我要去哪裏錯了呢?
感謝您的幫助。
回聲你'$ q'變量和後的結果。乍一看,它看起來像你的值需要單引號('name = whatever'需要是'name ='whatever'')。 – 2011-12-21 22:57:49
@LoganSerman他的sqlEscape函數負責這個 – 2011-12-21 23:00:30
良好的調用,我跳過了該函數的主體。然後,發佈回顯'$ q'的結果。 – 2011-12-21 23:01:28