2012-04-25 61 views
1

下面的腳本很好地將不同的RSS提要插入到mysql數據庫中,從而在網站上實現了一些項目。但是,當我嘗試命令並限制'mysql_query'時,停止工作。我懷疑ORDER BY和LIMIT被置於錯誤的位置,但我看到的唯一可能性是將它們放入mysql_query。任何人都知道?通過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

ORDER BY和LIMIT不用於INSERT語句,它們需要與SELECT語句一起使用。

+0

好吧,我明白了,非常感謝。你知道我是否可以在同一個mysql_query行的INSERT語句旁邊使用SELECT語句嗎? – smd 2012-04-25 20:51:46

+0

您可以在一個頁面中執行多個查詢。但是,您需要分別查詢每個語句。如果你想在INSERT之前做一個SELECT語句,你需要做一個單獨的調用,例如$ selres = mysql_query($ selsql),然後爲insert添加類似$ insres = mysql_query($ inssql)的東西。 – Shane 2012-04-25 21:44:57

+0

請看下面(答案)字段中的內容。 – smd 2012-04-26 18:16:49

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); 
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);