데이터베이스 쿼리에 결과가 있는지 확인하는 방법?


11

다음 코드에 결과가 있는지 어떻게 확인합니까?

함수를 시도 했지만 항상 FALSE를 반환 합니다.


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

답변:



1

인쇄 var_dump($result);하면 $result쿼리 및 기타 변수 가 포함되어 있으므로 절대로 비어 있지 않습니다.
당신은 넣을 수 있습니다 $resultA의 foreach결과를 볼 루프.

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

foreach루프 내부 에서이 코드로 결과를 인쇄 할 수 있습니다.

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

결과로 레코드가 하나만있는 경우 레코드 mysql_fetch_array()를 처리하는 데 사용하십시오.


오타가 있습니다. 이것은이어야한다foreach ($result as $record) { var_dump($record); }
vanz

Drupal에서는 MySQL 함수 사용을 제안하는 것은 좋지 않습니다. 이 사이트는 PosgreSQL, SQLite 또는 Drupal과 호환되는 다른 데이터베이스 엔진을 사용 중일 수 있습니다. Drupal 데이터베이스 기능은 측면에서 사용되는 데이터베이스 엔진을 알기 위해 모듈이 필요하지 않습니다.
kiamlaluno

0

이 시도

while($record = $result->fetchAssoc()) {
print_r($record);
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.