Como verificar se uma consulta ao banco de dados tem resultados?


11

Como verifico se o código a seguir tem resultados?

Eu tentei a função vazia , mas ela sempre retorna FALSE


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

Respostas:



1

Se você imprimir var_dump($result);, verá que $resultcontém a consulta e outras variáveis, para que nunca fique vazio.
Você pode colocar $resultum foreachloop para ver os resultados.

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

Dentro do foreachloop, você pode imprimir os resultados com este código.

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

Se houver apenas um registro como resultado, use-o mysql_fetch_array()para manipulá-lo.


Você tem um erro de digitação. Isso deve serforeach ($result as $record) { var_dump($record); }
vanz

Com o Drupal, é um mau conselho sugerir o uso de uma função MySQL. O site pode estar usando PosgreSQL, SQLite ou outro mecanismo de banco de dados com o qual o Drupal é compatível. As funções do banco de dados Drupal não requerem um módulo para conhecer o mecanismo de banco de dados usado de lado.
kiamlaluno

0

Tente isto

while($record = $result->fetchAssoc()) {
print_r($record);
}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.