¿Cómo verificar si una consulta de base de datos tiene resultados?


11

¿Cómo verifico si el siguiente código tiene resultados?

Intenté la función vacía pero siempre devuelve FALSE


$query = db_select('my_table', 't');
$query->condition('code', 10)
      ->fields('t', array('cid'));
$result = $query->execute();

Respuestas:



1

Si imprime var_dump($result);, verá que $resultcontiene la consulta y otras variables para que nunca esté vacía.
Puedes poner $resultun foreachbucle para ver los resultados.

foreach ($result as $record) {
  var_dump($record);
}

Dentro del foreachbucle, puede imprimir los resultados con este código.

foreach ($result as $record) {
  print $record->nid;
  print $record->title;
}

Si solo hay un registro como resultado, utilícelo mysql_fetch_array()para manejar el registro.


Tienes un error tipográfico. Esto debería serforeach ($result as $record) { var_dump($record); }
vanz

Con Drupal, es un mal consejo sugerir el uso de una función MySQL. El sitio podría estar utilizando PosgreSQL, SQLite u otro motor de base de datos con el que Drupal sea compatible. Las funciones de la base de datos de Drupal no requieren un módulo para conocer el motor de la base de datos que se utiliza desde un lado.
kiamlaluno

0

Prueba esto

while($record = $result->fetchAssoc()) {
print_r($record);
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.