データベースクエリに結果があるかどうかを確認する方法


11

次のコードに結果があるかどうかを確認するにはどうすればよいですか?

空の関数を試しましたが、常にFALSEを返します


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

回答:



1

印刷var_dump($result);すると$result、クエリやその他の変数が含まれていることがわかるので、空になることはありません。
あなたは置くことができる$resultforeach結果を確認するためにループ。

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

foreachループ内では、このコードを使用して結果を印刷できます。

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

結果としてレコードが1つしかない場合はmysql_fetch_array()、レコードを処理するために使用します。


あなたはタイプミスを持っています。これはforeach ($result as $record) { var_dump($record); }
バンズの2013年

Drupalでは、MySQL関数の使用を提案することは悪いアドバイスです。サイトは、PosgreSQL、SQLite、またはDrupalと互換性のある別のデータベースエンジンを使用している可能性があります。Drupalデータベース関数は、側から使用されるデータベースエンジンを知るモジュールを必要としません。
kiamlaluno

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.