it-swarm.com.de

Wie überprüfe ich, ob eine Datenbankabfrage Ergebnisse hat?

Wie überprüfe ich, ob der folgende Code Ergebnisse enthält?

Ich habe die Funktion leer ausprobiert, aber sie gibt immer FALSE zurück


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

11
hpn

Wenn ich richtig bin, sollte das Ergebnis des Aufrufs execute () ein DatabaseStatementInterface sein, das eine rowCount Funktion hat.

14
Jensen

Wenn Sie var_dump($result); drucken, sehen Sie, dass $result Die Abfrage und andere Variablen enthält, sodass sie niemals leer ist.
Sie können $result In eine foreach - Schleife einfügen, um die Ergebnisse anzuzeigen.

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

Innerhalb der foreach -Schleife können Sie die Ergebnisse mit diesem Code drucken.

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

Wenn nur ein Datensatz als Ergebnis vorhanden ist, verwenden Sie mysql_fetch_array() , um den Datensatz zu behandeln.

1
JurgenR

Versuche dies

while($record = $result->fetchAssoc()) {
print_r($record);
}
0
Ahmad