¿Cómo puedo verificar si mi conjunto de resultados está vacío usando PDO en PHP?¿Cómo verifico los resultados devueltos de la consulta db usando el PDO de 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>';
}
Solía hacerlo de esta manera:
$result = mysql_query("SELECT ...... ORDER BY lightboxName ASC;");
if(!$result) { echo 'No results found!'; }
Pero sólo han empezado a utilizar las DOP y las declaraciones preparadas y comprobando contra $STH
no parece que funciona como se esperaba - que siempre tiene valor!
Perfecto. Funciona según lo previsto.Estaba leyendo sobre esto y otra forma de hacerlo es usar columnCount(). ¿Crees que hay una diferencia de rendimiento entre rowCount() y columnCount()? – ShadowStorm
@ShadowStorm 'columnCount()' debe ser súper rápido, pero de nuevo, 'rowCount()' también si está disponible. Tendrás que probar eso para estar seguro. – jeroen
He encontrado que 'columnCount()' funciona mejor porque devolverá '0' en todos mis casos de prueba. 'rowCount()' a menudo devuelve las filas modificadas y descarta mi lógica. – Ben