我不知道我在做什么错,但我的小更新代码给了我一个错误消息,我无法解决如何解决它。不能更新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