После просмотра вашего кода я думаю, что это ваша проблема:
public static function getScrapedSites($db) {
$query = "select * from sites";
$result = $db->query($query);
$scrapedSites = $result->fetch_assoc();
return $scrapedSites;
}
Я полагаю, что всегда вернет одну строку. Вам нужно перебрать результаты с помощью fetch_assoc()
и добавить результаты в массив.
public static function getScrapedSites($db) {
$query = "select * from sites";
$result = $db->query($query);
$scrapedSites = array();
foreach($result->fetch_assoc() as $site) {
$scrapedSites[] = $site;
}
return $scrapedSites;
}
Вы сказали, что $site
выводит строку в вашем примере. Это потому, что ваш цикл foreach
итерируется по полям БД в ассоциативном массиве.