插入函数时出现mysql版本错误

时间:2013-01-11 13:31:08

标签: php mysql sql feed

我正在解析Feed,我想将其插入到我的数据库中。我回显了正确的feed条目,但是当我想插入数据库时​​,我收到了这个错误:

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的“更新,链接”VALUES(...)附近使用正确的语法。

以下是代码:

include_once("connect_to_mysql.php");

$xml= simplexml_load_file('http://somefeed/feeds/rss');
$list = $xml->entry;
$title = $list[0]->title;
$img = $list[0]->summary->div->img['src'];
$update = $list[0]->updated;
$link = $list[0]->link['href'];

$sql = mysql_query("INSERT INTO table (title, img, update, link) 
VALUES ('$title', '$img', '$update', '$link')") or die (mysql_error());

这在我的网站上运行良好,但现在我收到此错误。我正在使用xampp。还有一些条目是http://的文件,问题是什么?我找到了类似的帖子,但他们的修复程序对我不起作用。

1 个答案:

答案 0 :(得分:6)

这两个保留关键字:tableupdate在您的查询中使用,必须使用反引号进行转义。

INSERT INTO `table` (title, img, `update`, link) 
VALUES ('$title', '$img', '$update', '$link')

作为旁注,如果值( s )来自外部,则查询容易被SQL Injection攻击。请查看下面的文章,了解如何防止它。通过使用PreparedStatements,您可以摆脱在值周围使用单引号。