Jak sprawdzić, czy zapytanie do bazy danych ma wyniki?


11

Jak sprawdzić, czy poniższy kod ma wyniki?

Próbowałem pustej funkcji, ale zawsze zwraca FALSE


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

Odpowiedzi:



1

Jeśli wydrukujesz var_dump($result);, zobaczysz, że $resultzawiera zapytanie i inne zmienne, więc nigdy nie jest puste.
Możesz umieścić $resultw foreachpętli, aby zobaczyć wyniki.

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

Wewnątrz foreachpętli możesz wydrukować wyniki za pomocą tego kodu.

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

Jeśli jako wynik istnieje tylko jeden rekord, użyj go mysql_fetch_array()do obsługi rekordu.


Masz literówkę. To powinno byćforeach ($result as $record) { var_dump($record); }
vanz

W przypadku Drupala zła porada sugeruje użycie funkcji MySQL. Witryna może używać PosgreSQL, SQLite lub innego silnika bazy danych, z którym Drupal jest kompatybilny. Funkcje bazy danych Drupal nie wymagają modułu do znajomości silnika bazy danych używanego z boku.
kiamlaluno

0

Spróbuj tego

while($record = $result->fetchAssoc()) {
print_r($record);
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.