我正在尝试从 Yahoo SQL API 检索 RSS 提要并通过 PHP 将其存储在一个文件中。这是代码:
if( filemtime($cache) < (time() - 10800) ) {
if ( !file_exists(dirname(__FILE__) . '/cache') ) {
mkdir(dirname(__FILE__) . '/cache', 0777);
}
$path = "http://query.yahooapis.com/v1/public/yql?q=";
$path .= urlencode("SELECT * FROM feed WHERE url='http://url'");
$path .= "&format=json";
$feed = file_get_contents($path, true);
if ( is_object($feed) && $feed->query->count ) {
$cachefile = fopen($cache, 'wb');
fwrite($cachefile, $feed);
fclose($cachefile);
}
}
else {
$feed = file_get_contents($cache);
}
问题是。现在我想将结果存储在数据库中。但是因为我将它存储在文件中并在 3 小时内更新它,所以我确信我会遇到重复的 RSS 条目。而且我不想将这些重复项存储在数据库中。
是否有一些有效的方法来完成这项工作?
最佳答案
或者您在 url 上添加一个唯一索引,这样如果 url 已经存在,则不会添加插入。
您可以使用 INSERT INGORE INTO ... 来忽略 mysql 给您的错误
关于php - 更新数据库而不创建重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9931657/