gpt4 book ai didi

php - 执行 INSERT 查询时获取 MySQL 错误 1064

转载 作者:太空宇宙 更新时间:2023-11-03 11:20:17 25 4
gpt4 key购买 nike

我正在做的是抓取一个提要并从每个提要项中插入数据。请参阅下面我正在使用的代码。好的。因此,我运行带有查询的页面,它将提要加载到 simplexml 中,然后我在提要中插入前两个项目,但是当它到达第三个项目时出现错误。请参阅下文了解我遇到的错误。

我正在使用 PHP5 和 MySQL 5.0.4

PHP代码:

$xml = simplexml_load_file($feed['url']);

foreach($xml->channel->item as $item)
{
$this->query = $this->db->query("
INSERT INTO `feed_items`
(`feed_id`, `guid`, `publish_date`, `update_of`, `link`, `title`, `description`, `comments_link`)
VALUES
('{$feed['id']}', '{$item->guid}', '{$item->pubDate}', NULL, '{$item->link}', '{$item->title}', '{$item->description}', NULL)
");
}

错误:

A Database Error Occurred
Error Number: 1064

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 'permitted_uri_chars']? That seems risky though. Is it a static page that you're ' at line 4

INSERT INTO `feed_items` (`feed_id`, `guid`, `publish_date`, `update_of`, `link`, `title`, `description`, `comments_link`) VALUES ('2', 'http://twitter.com/kyct/statuses/4131154118', 'Sun, 20 Sep 2009 20:54:41 +0000', NULL, 'http://twitter.com/kyct/statuses/4131154118', 'kyct: @jtkendall Edit your $config['permitted_uri_chars']? That seems risky though. Is it a static page that you're serving?', 'kyct: @jtkendall Edit your $config['permitted_uri_chars']? That seems risky though. Is it a static page that you're serving?', NULL)

供稿网址:

http://twitter.com/statuses/user_timeline/6431322.rss

这是此提要的示例:

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
<title>Twitter / kyct</title>
<link>http://twitter.com/kyct</link>
<atom:link type="application/rss+xml" href="http://twitter.com/statuses/user_timeline/6431322.rss" rel="self"/>
<description>Twitter updates from Kylee Tilley / kyct.</description>
<language>en-us</language>
<ttl>40</ttl>
<item>
<title>kyct: RT @ruinbox #reddit asploded. Here is the code: http://paste2.org/p/441124</title>
<description>kyct: RT @ruinbox #reddit asploded. Here is the code: http://paste2.org/p/441124</description>
<pubDate>Mon, 28 Sep 2009 03:01:34 +0000</pubDate>
<guid>http://twitter.com/kyct/statuses/4433385042</guid>
<link>http://twitter.com/kyct/statuses/4433385042</link>
</item>
<item>
<title>kyct: #reddit.com is hitting hit by some worm/exploit in the comments. Viewing comments will cause you to spread this worm/exploit.</title>
<description>kyct: #reddit.com is hitting hit by some worm/exploit in the comments. Viewing comments will cause you to spread this worm/exploit.</description>
<pubDate>Mon, 28 Sep 2009 02:22:51 +0000</pubDate>
<guid>http://twitter.com/kyct/statuses/4432550280</guid>
<link>http://twitter.com/kyct/statuses/4432550280</link>
</item>
<item>
<title>kyct: @jtkendall Edit your $config['permitted_uri_chars']? That seems risky though. Is it a static page that you're serving?</title>
<description>kyct: @jtkendall Edit your $config['permitted_uri_chars']? That seems risky though. Is it a static page that you're serving?</description>
<pubDate>Sun, 20 Sep 2009 20:54:41 +0000</pubDate>
<guid>http://twitter.com/kyct/statuses/4131154118</guid>
<link>http://twitter.com/kyct/statuses/4131154118</link>
</item>
</channel>

</rss>

最佳答案

在将其输入数据库之前,您需要(至少)转义“描述”字段上的引号:

foreach($xml->channel->item as $item)
{
$this->query = $this->db->query("
INSERT INTO `feed_items`
(`feed_id`, `guid`, `publish_date`, `update_of`, `link`, `title`, `description`, `comments_link`)
VALUES
('{$feed['id']}', '{$item->guid}', '{$item->pubDate}', NULL, '{$item->link}', '{$item->title}', '" . mysql_real_escape_string($item->description). "', NULL)
");
}

虽然我不确定 mysql_real_escape_string 是不是现在用得那么多。

关于php - 执行 INSERT 查询时获取 MySQL 错误 1064,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1517375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com