Php 您的SQL语法有错误;检查与MySQL服务器对应的手册等
当我试图更新mysql数据库中的内容时,出现以下错误 您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获取第1行“”附近要使用的正确语法Php 您的SQL语法有错误;检查与MySQL服务器对应的手册等,php,mysql,sql,Php,Mysql,Sql,当我试图更新mysql数据库中的内容时,出现以下错误 您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获取第1行“”附近要使用的正确语法 您应该首先转义变量 试试这个 $postID = mysql_real_escape_string($_POST['postID']); $title = mysql_real_escape_string($_POST['title']); $content = mysql_real_escape_string($_POST['content
您应该首先转义变量
试试这个
$postID = mysql_real_escape_string($_POST['postID']);
$title = mysql_real_escape_string($_POST['title']);
$content = mysql_real_escape_string($_POST['content']);
$edit = mysql_query("UPDATE posts SET postTitle = '".$title."',
postContent = '".$content."'
WHERE postID = '".$postID."' ") or die(mysql_error());
首先,您不应该使用mysql\u query
,因为它不安全,不推荐使用。请改用mysqli
或PDO。您的内容或标题中是否有双引号?您能否echo
尝试执行的sql字符串,这样我们就可以看到变量是如何被替换的?每次将$vars
添加到mysql\u查询中时,您都不应该忘记它们,虽然你也应该考虑斯蒂法诺所说的,它并没有带来更多的错误,但是它仍然没有在数据库中更新。然后你的主要问题就解决了,伙计,标题中的主要问题是这个错误。要解决第二个问题,你必须提供你的代码和表,我们会看到的。这是数据库中的我的表:这是代码,我在这里编辑文章。然后必须首先确保这些变量中有值。尝试回显它们并查看是否有值,可能$postID为空或其他人。
$postID = mysql_real_escape_string($_POST['postID']);
$title = mysql_real_escape_string($_POST['title']);
$content = mysql_real_escape_string($_POST['content']);
$edit = mysql_query("UPDATE posts SET postTitle = '".$title."',
postContent = '".$content."'
WHERE postID = '".$postID."' ") or die(mysql_error());