Wie überprüfe ich, ob meine Ergebnismenge mit PDO in PHP leer ist?Wie überprüfe ich db-Abfrage zurückgegebene Ergebnisse mit PHP-PDO
$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>';
}
Ich benutzen es, wie dies zu tun:
$result = mysql_query("SELECT ...... ORDER BY lightboxName ASC;");
if(!$result) { echo 'No results found!'; }
Aber habe gerade erst begonnen mit PDO und vorbereiteten Anweisungen und Kontrolle gegen $STH
scheine nicht zu funktionieren wie erwartet - Wert hat es immer!
Perfekt. Funktioniert wie vorgesehen.Ich habe gerade darüber gelesen und eine andere Möglichkeit, dies zu tun, ist die Verwendung von columnCount(). Glauben Sie, dass es einen Leistungsunterschied zwischen rowCount() und columnCount() gibt? – ShadowStorm
@ShadowStorm 'columnCount()' sollte super-schnell sein, aber auch 'rowCount()', wenn es verfügbar ist. Sie müssten das testen, um sicher zu gehen. – jeroen
Ich fand 'columnCount()' funktioniert am besten, weil es unter allen meinen Testfällen '0' zurückgibt. 'rowCount()' gibt oft die geänderten Zeilen zurück und verwirft meine Logik. – Ben