1

以下のスクリプトは、さまざまな RSS フィードを mysql データベースに挿入するのにかなりうまく機能し、Web サイト上のいくつかのアイテムをエコーアウトします。しかし、「mysql_query」で注文して制限しようとすると、動作が停止します。ORDER BY と LIMIT が間違った位置に配置されているのではないかと思いますが、唯一の可能性はそれらを mysql_query に配置することです。知ってる人いますか?

$feeds = array('https://www.ictu.nl/rss.xml', 'http://www.vng.nl/smartsite.dws?id=97817');
foreach( $feeds as $feed ) {
    $xml = simplexml_load_file($feed);

    foreach($xml->channel->item as $item)
    {
    $date_format = "j-n-Y"; // 7-7-2008
            echo date($date_format,strtotime($item->pubDate));
            echo ' ';
            echo ' ';
            echo '<a href="'.$item->link.'" target="_blank">'.$item->title.'</a>';
            echo '<div>' . $item->description . '<br><br></div>';

    mysql_query("INSERT INTO rss_feeds (id, title, description, link, pubdate) 
                VALUES (
        '', 
        '".mysql_real_escape_string($item->title)."', 
        '".mysql_real_escape_string($item->description=htmlspecialchars(trim($item->description)))."', 
        '".mysql_real_escape_string($item->link)."', 
        '".mysql_real_escape_string($item->pubdate)."')")ORDER BY 'title' LIMIT 0,10;       
    }
}
4

3 に答える 3

4

ORDER BY と LIMIT は INSERT ステートメントでは使用されません。SELECT ステートメントで使用する必要があります。

于 2012-04-25T20:25:56.713 に答える
0

mysql_queryと表記法についてはよくわかりません。まだ何か問題があります。

$selSQL = SELECT * FROM rss-feeds ORDER BY 'title';      
$insSQL = "INSERT INTO 'rss_feeds' (id, title, description, link, pubdate) 
                    VALUES (
            '', 
            '".mysql_real_escape_string($item->title)."', 
            '".mysql_real_escape_string($item->description=htmlspecialchars(trim($item->description)))."', 
            '".mysql_real_escape_string($item->link)."', 
            '".mysql_real_escape_string($item->pubdate)."'); 

$selres = mysql_query($selsql);
$insRes = mysql_query($insSQL);
于 2012-04-26T18:21:06.947 に答える
0

` を使用して列名をラップする場合は、列名を一重引用符で囲わないでください。また、$selSQL を引用符で囲んでいませんでした。以下を参照して試してみてください。

$selSQL = "SELECT * FROM `rss-feeds` ORDER BY `title`";      
$insSQL = "INSERT INTO `rss_feeds` (`id`, `title`, `description`, `link`, `pubdate`) 
           VALUES (
            '', 
            '".mysql_real_escape_string($item->title)."', 
            '".mysql_real_escape_string($item->description=htmlspecialchars(trim($item->description)))."', 
            '".mysql_real_escape_string($item->link)."', 
            '".mysql_real_escape_string($item->pubdate)."')"; 

$selres = mysql_query($selsql);
$insRes = mysql_query($insSQL);
于 2012-04-27T19:52:34.410 に答える