Come verificare se una query del database ha risultati?


11

Come posso verificare se il seguente codice ha risultati?

Ho provato la funzione vuota ma restituisce sempre FALSO


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

Risposte:



1

Se stampi var_dump($result);vedrai che $resultcontiene la query e altre variabili, quindi non è mai vuota.
Puoi inserire $resultun foreachciclo per vedere i risultati.

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

All'interno del foreachciclo, è possibile stampare i risultati con questo codice.

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

Se esiste un solo record come risultato, utilizzare mysql_fetch_array()per gestire il record.


Hai un refuso. Questo dovrebbe essereforeach ($result as $record) { var_dump($record); }
vanz

Con Drupal, è un cattivo consiglio suggerire di utilizzare una funzione MySQL. Il sito potrebbe utilizzare PosgreSQL, SQLite o un altro motore di database con cui Drupal è compatibile. Le funzioni del database di Drupal non richiedono che un modulo conosca il motore di database utilizzato dal lato.
kiamlaluno

0

Prova questo

while($record = $result->fetchAssoc()) {
print_r($record);
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.