我收到此错误:
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在update_id
,update_when
,update_title
,update_text
,{{1}附近使用正确的语法})VALUES'在第1行
我搜索了这个网站和其他许多人的解决方案,我似乎无法找到它。我已经尝试了几乎所有我能找到的建议,现在是时候看看我是否遗漏了一些明显的东西(过去3天)。请查看我的代码,看看有什么问题。我用随机echo =" 1&#34 ;;测试了代码。在我的代码中找到它破坏的地方,我将从那里发布。非常感谢,如果您需要更多我发布的内容,请随时提出。
update_who
再次感谢!!
编辑:好的,我的代码现在读了(感谢Rakesh Sharma):
$update = mysql_query("INSERT INTO `cbhof_news` SET (`update_id`, `update_when`, `update_title`, `update_text`, `update_who`) VALUES (NULL, `$when`, `$title`, `$text`, `$who`") or die(mysql_error());
echo "1"; //this one is not showing yet, so I know its borked here.
if (mysql_query($update)){
//header('location: news.php');
echo "Posted! <br /><br />$title - by: $who<br />$text";
}else{
die('We are sorry, this entry could not be created. <br />Error: ' . mysql_errno() . ': ' . mysql_error());
}
}
但现在我看到数据库中有多个条目。首先它只插入一个,第二个插入两个,然后是四个,然后是八个....
有什么想法吗?
答案 0 :(得分:1)
尝试在查询变量上使用单引号并删除SET
关键字也正确关闭查询
$update = mysql_query("INSERT INTO `cbhof_news` (`update_id`, `update_when`, `update_title`, `update_text`, `update_who`) VALUES ('', '$when', '$title', '$text', '$who')") or die(mysql_error());
有关更多插入查询: - http://dev.mysql.com/doc/refman/5.6/en/insert.html
使用SET
您需要查询: -
INSERT INTO table SET col_name = value,col_name = value,col_name = value,...
答案 1 :(得分:0)
如果要插入新行
,请不要在查询中使用SET
$update = mysql_query("INSERT INTO `cbhof_news` (`update_id`, `update_when`, `update_title`, `update_text`, `update_who`) VALUES (NULL, '$when', '$title', '$text', '$who'") or die(mysql_error());
答案 2 :(得分:0)
只需删除SET关键字即可。
$update = mysql_query("INSERT INTO `cbhof_news` (`update_id`, `update_when`, `update_title`, `update_text`, `update_who`) VALUES (NULL, `$when`, `$title`, `$text`, `$who`") or die(mysql_error());
并确保正确转义您的值以防止sql注入。
答案 3 :(得分:0)
INSERT INTO cbhof_news
(update_id
,update_when
,update_title
,update_text
,update_who
)VALUES(NULL,'$ when', '$ title','$ text','$ who')“)
3个变化:
1_已删除设置,因为您正在插入而不是更新。
2_用值代替`而不是`
3_最后,在关闭括号之前关闭“。
查找上面编辑过的代码,替换它时代码应该可以使用。