Php 在foreach循环中写入到数据库的链接失败
我正在使用将记录写入数据库,但它似乎没有写入记录 问题在于foreach循环。它输出所有URL和以下错误:Php 在foreach循环中写入到数据库的链接失败,php,mysql,Php,Mysql,我正在使用将记录写入数据库,但它似乎没有写入记录 问题在于foreach循环。它输出所有URL和以下错误: 注意:未定义的变量:第28行C:\xampp\htdocs\meh\crawler.php中的url 您希望mysql查询在html文件中插入foreach链接,而不是在循环后运行一次。在循环中移动代码: foreach ( $html->find('a') as $element ) { if ( strpos($element->href, "cls") !==
注意:未定义的变量:第28行C:\xampp\htdocs\meh\crawler.php中的url
您希望mysql查询在html文件中插入foreach链接,而不是在循环后运行一次。在循环中移动代码:
foreach ( $html->find('a') as $element ) {
if ( strpos($element->href, "cls") !== false ) {
$url = "http://expatriates.com" . $element->href . '<br>';
$sql = "INSERT INTO urlstocrawl (url) VALUES ('$url')";
if ( !mysqli_query($con,$sql) ) {
die('Error: ' . mysqli_error($con));
}
echo '<br>'.'<p>'."1 record added" . $url;
}
}
foreach($html->find('a')as$element){
if(strpos($element->href,“cls”)!==false){
$url=”http://expatriates.com“$element->href.
”;
$sql=“插入到urlstocrawl(url)值(“$url”)”;
如果(!mysqli_query($con,$sql)){
die('Error:'.mysqli_Error($con));
}
回显“
”。”。“添加了1条记录”。$url;
}
}
注意对if
条件的修改。当字符串不存在时返回false
,或者返回一个指示位置的整数,从0开始。这意味着如果cls
位于字符串的开头,条件可能会失败。通过这种严格的类型检查,您可以确定所需的行为。在打开后立即将错误报告添加到文件顶部。您是否考虑过网页内容可能包含引号字符的可能性非常小?另外,我认为您的foreach($links as$link)括号{
可能放错了位置。注意:未定义的变量:C:\xampp\htdocs\meh\crawler.php中的url,第28Felix行:@Fred ii-mille gratiePrego amico mio,ciaoébuongiorno!
foreach ( $html->find('a') as $element ) {
if ( strpos($element->href, "cls") !== false ) {
$url = "http://expatriates.com" . $element->href . '<br>';
$sql = "INSERT INTO urlstocrawl (url) VALUES ('$url')";
if ( !mysqli_query($con,$sql) ) {
die('Error: ' . mysqli_error($con));
}
echo '<br>'.'<p>'."1 record added" . $url;
}
}