我試圖通過PHP簡單的HTML DOM解析值的數組存儲到mysql數據庫存儲值
我使用下面的代碼
<?php
include_once('simple_html_dom.php');
$con = mysql_connect("localhost","dbname","passphrase");
if (!$con)
{
die(mysql_error());
}
mysql_select_db("dbname", $con);
function scrapper() {
$html = file_get_html('http://www.websiteiwishtoparse.whatever');
foreach($html->find('div.listing-content') as $business) {
$item['name'] = trim($business->find('div.business-name a.url', 0)->plaintext);
$item['street'] = trim($business->find('span.address', 0)->plaintext);
$item['state'] = trim($business->find('span.state', 0)->plaintext);
$item['phone'] = trim($business->find('span.phone', 0)->plaintext);
$ret[] = $item;
}
// clean up memory
$html->clear();
unset($html);
return $ret;
}
$ret = scrapper();
$pdo = new PDO($con);
foreach($ret as $v) {
echo $v['name'].'<br>';
echo '<ul>';
echo '<li>'.$v['street'].'</li>';
echo '<li>'.$v['state'].'</li>';
echo '<li>'.$v['phone'].'</li>';
echo '</ul>';
$q = $pdo->prepare('INSERT INTO dbname.dbtable (name, street, state, phone) VALUES (:name, :street, :state, :phone)');
$q->execute(array('name' => $name, 'street' => $value, 'state' => $state, 'phone' => $phone));
}
mysql_close($con);
?>
結果顯示很好,但我無法將它存儲到我的分貝。
我得到的錯誤是:調用一個成員函數prepare()在一個非對象的行65上的/ scrapper.php。 我甚至不確定我是否正確使用PDO 。 即使是傳統的mysql_query解決方案也能完成這項工作。 如果有人能幫助我,我將不勝感激。 Thanx提前
你嘗試,並檢查是否要連接到數據庫是否正確?類似於: if($ pdo){ echo'connected'; } –
是的,建立與數據庫的連接 – user926652