[英]How to iterate over php error and continue while loop?
我根据数据库中的用户名,使用以下代码从远程网站解析定义。 我正在使用简单的html dom解析器。
//database connection
include 'db.php';
//display errors
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include 'simple_html_dom.php';
//select usernames order alphabetically
$row = mysqli_query($conn, "SELECT user_name FROM (
SELECT *
FROM store
ORDER BY user_id DESC)
AS store ORDER BY user_id ASC");
//echo out definitions of usernames
while($lastusers = mysqli_fetch_array($row)) {
echo '<br>' . $lastusers["user_name"];
echo '<br>Definition:<br>';
$html = file_get_html("https://www.merriam-webster.com/dictionary/" . $lastusers["user_name"]);
$title = $html->find("div.card-primary-content", 0)->innertext;
echo $title;
//save definitions to corresponding username
$save = mysqli_query($conn, 'UPDATE store
SET def = $title,
WHERE user_name = $lastusers["user_name"]'
)
}
我的while循环将开始为每个用户名生成定义,直到未找到某些页面,从而导致错误终止循环。
警告:file_get_contents( https://www.merriam-webster.com/dictionary/colourings ):无法打开流:HTTP请求失败! 在第75行的/app/simple_html_dom.php中找不到HTTP / 1.0 404致命错误:在第18行的/app/test.php中的布尔值上调用成员函数find()
我的问题是如何跳过引发错误的用户名并继续循环? 另外,由于它们的用户名超过500个,因此该操作非常耗时,因此我要保存定义,并希望避免将错误保存到数据库中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.