我正在解析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://的文件,问题是什么?我找到了类似的帖子,但他们的修复程序对我不起作用。
答案 0 :(得分:6)
这两个保留关键字:table
和update
在您的查询中使用,必须使用反引号进行转义。
INSERT INTO `table` (title, img, `update`, link)
VALUES ('$title', '$img', '$update', '$link')
作为旁注,如果值( s )来自外部,则查询容易被SQL Injection
攻击。请查看下面的文章,了解如何防止它。通过使用PreparedStatements,您可以摆脱在值周围使用单引号。