Jak sprawdzić, czy mój zestaw wyników jest pusty przy użyciu PDO w PHP?Jak sprawdzić zapytanie db zwróciło wyniki używając PDO PHP
$SQL = "SELECT ......... ORDER BY lightboxName ASC;";
$STH = $DBH->prepare($SQL);
$STH->bindParam(':member_id', $member_id);
$STH->execute();
$STH->setFetchMode(PDO::FETCH_ASSOC);
while($row = $STH->fetch()) {
$lightbox_name = $row['lightboxName'];
$lightbox_id = $row['lightboxID'];
echo '<option value="'.$lightbox_id.'">'.$lightbox_name.'</option>';
}
kiedyś zrobić to tak:
$result = mysql_query("SELECT ...... ORDER BY lightboxName ASC;");
if(!$result) { echo 'No results found!'; }
Ale właśnie zaczął używać PDO i przygotowane oświadczeń i sprawdziany przed $STH
nie wydają się działać zgodnie z oczekiwaniami - to zawsze ma wartość!
Idealny. Działa zgodnie z przeznaczeniem.Właśnie o tym czytałem, a innym sposobem jest użycie columnCount(). Czy sądzisz, że istnieje różnica w wydajności między rowCount() i columnCount()? – ShadowStorm
@ShadowStorm 'columnCount()' powinien być super szybki, ale z drugiej strony, 'rowCount()', jeśli jest dostępny. Musiałbyś to sprawdzić, żeby się upewnić. – jeroen
Znalazłem 'columnCount()' działa najlepiej, ponieważ zwróci '0' pod wszystkich moich przypadków testowych. 'rowCount()' często zwraca zmodyfikowane wiersze i wyrzuca moją logikę. – Ben