Nasıl bir dizi olarak her satırını bir anda bir bütün mysql sonuç kümesi, ve birini döndürebilir?

1 Cevap php
foreach($scraperSites as $site) {

    //$scraperWriter->addSite( new ScraperSite($site) );
    print_r($site);

}

scraperSites mySQL veritabanından tüm sitelerin dizidir; Ben, bir dizi olarak $ siteyi tutmaya çalışıyorum (ama sadece veri değerinde bir satır ile), bir sonraki satıra geçmek, sonra bir nesneye eklemek ediyorum.

1 Cevap

Sizin kod baktıktan sonra, ben bu sorunu olduğunu düşünüyorum:

public static function getScrapedSites($db) {

    $query = "select * from sites";
    $result = $db->query($query);
    $scrapedSites = $result->fetch_assoc();

    return $scrapedSites;

}

Ben bu always tek bir satır döneceğimize inanıyorum. Sen fetch_assoc() ile sonuçları üzerinde döngü gerekir ve bir dizi sonuçları ekler.

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;
}

Sen $site sizin örnekte bir dize çıktısı olduğunu söyledi. Lütfen foreach döngü ilişkisel dizi db alanları üzerinde yineleme çünkü bu.