2012-12-17 154 views
-1

在此爬网程序中,它搜索并爬网bbc主页的所有链接。Foreach循环不正确

当它找到BBC新闻链接时,它将它们插入表格中。但由于某些原因,当脚本运行时,它并不像它应该那样将它们插入到表中。

任何想法?

   foreach ($links as $link) { 
    $output = array(
"title"  => Titles($link), //dont know what Titles is, variable or string? 
"description" => getMetas($link), 
"keywords" => getKeywords($link), 
"link"  => $link 
    ); 
    if (empty($output["description"])) { 
    $output["description"] = getWord($link); 
    } 
} 
foreach ($ouput as $value) { 
if (substr($value, 0, 26) == "http://www.bbc.co.uk/news/") { 

    $data = '"' . implode('" , "', $value) . '"'; 
    $success = mysql_query("INSERT INTO news_story (title, description , keywords, link) 
    VALUES (" . $data . ")"); 
    print_r($data); 

}} 
+0

很多的想法......什么事情'的var_dump( $ output);'return?就在'foreach'循环之前。这个变量是否包含你期望的内容? – Jelmer

+0

至少在'print_r($ data)'后输出;' – slownage

+5

请尝试改正该错字:'foreach($ ouput as $ value){'=>'foreach($ output as $ value){' – Pharaoh

回答

3

在你的第二个foreach循环指定$输出中,而不是$输出:

foreach ($ouput as $value) { 

应该是:

foreach ($output as $value) { 
+3

积分去法老? ;) – Jelmer

+0

哈,他在我眼前发现了它。没有看到他的职位,直到我提交我的! – user1511980