データベースにURL(リンク)のリストがあり、データをページに正常にエコーできますが、出力する代わりに、その情報(配列を考えていました)を変数に格納して、提供されたものを使用してphpタスクを実行する必要がありますリンク。私はこれを行う方法をまだ理解していません。
コードが更新されました。間もなく廃止されるmysql_*関数を使用するための参照を削除し、mysqliバージョンを選択しました。
これが私のコードです
$query = "SELECT `Link` FROM `Table1` WHERE `Image` ='' AND `Source`='blah'";
if ($result = mysqli_query($dblink, $query)) {
while ($row = mysqli_fetch_assoc($result)) {
$link = $row['Link'];
// echo ''.$link.'<br>';
$html = file_get_html($link);
foreach ($html->find('div.article') as $e) {
$result = $e->find('img', 0);
$imgsrc = $result->src . '<br>';
echo $imgsrc;
}
}
}
このコードは1回の反復で機能します。つまり、DBに格納されている最初のリンクを見つけ、それを$link
一番下のforeach()
ステートメントで使用して、目的の結果を出力します。ループの最初の反復後、次のようなエラーが発生します。
「mysqli_fetch_assoc()はパラメーター1がmysqlの結果であると想定しています」
問題が発生している理由を理解していると思います-$resultはwhileループの外側で宣言されているため、最初の反復後または何らかの方法で変更された後、再び設定されることはありません。
また
私はmysqli_free_result()
おそらく使用する必要があります。その場合、コードのどこに配置されるかわかりません。
あなたが提供できるどんな助けにも感謝します!