问题是我认为我做错了什么,我只是不知道是什么。我试过try / catch,这段代码的其他部分都正常运行(我已经回应了所有内容),但没有任何内容插入到“text”中。我99%肯定它不是特权,也是一般的问题,当您只是在服务器和其他网址中搜索数据时,可以使用exec吗?希望得到一些回复。
<?php
include('simplehtmldom_1_5/simple_html_dom.php');
$html = new simple_html_dom();
$html->load_file('http://www.youtube.com/live/all/videos?sort=dd&tag_id=&view=41');
$count = 0;
$pdo = new PDO('mysql:host=localhost;dbname=scraper', 'user', 'aa');
$string = $pdo->query('SELECT text FROM urls');
while ($row = $string->fetch())
{
$links[] = $row['text'];
}
foreach($html->find('[class=content-item-title yt-ui-ellipsis yt-ui-ellipsis-2]') as $element)
{
$array[$count]=$element->href;
foreach ($links as $link)
{
if (strpos($array[$count], $link) == false)
{
$pdo->exec('INSERT INTO urls SET
text=$array[$count]');
}
}
$count += 1;
}
?>
答案 0 :(得分:0)
而不是这个
$pdo->exec('INSERT INTO urls SET text=$array[$count]');
使用此
$pdo->prepare('INSERT INTO urls SET text=?')->execute(array($array[$count]));
花一点时间阅读prepare in PDO。也是关于Variable parsing。