如何检查数据库查询是否有结果?


11

如何检查以下代码是否有结果?

我尝试了函数,但它总是返回FALSE


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

Answers:



1

如果打印,var_dump($result);您将看到其中$result包含查询和其他变量,因此它永远不会为空。
你可以把$result一个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 2013年

对于Drupal,建议使用MySQL函数是一个不好的建议。该站点可能正在使用PosgreSQL,SQLite或与Drupal兼容的另一个数据库引擎。Drupal数据库功能不需要模块就可以从侧面知道使用的数据库引擎。
kiamlaluno

0

尝试这个

while($record = $result->fetchAssoc()) {
print_r($record);
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.