php 在Drupal 7中,有没有一种方法可以告诉SelectQuery结果中有多少行?

uajslkp6  于 2023-04-28  发布在  PHP
关注(0)|答案(3)|浏览(105)

我真正想知道的是我的查询是否返回了结果,但是一个实际的行计数值会更好。
示例:

$query = db_select('node', 'n');
$query->fields('n', array('nid', 'title', 'status'));
whlutmcx

whlutmcx1#

您正在寻找:
countQuery()
在您的示例中,您可以用途:

$query = db_select('node', 'n');
$query->fields('n', array('nid', 'title', 'status'));
$num_rows=$query->countQuery()->execute()->fetchField();

来计算结果,并在之后获取它们:

$result=$query->execute();
hgqdbh6s

hgqdbh6s2#

您可以使用方便的fetchAll()方法将所有结果加载到一个数组中,然后将数组计数为正常值。这将导致只执行一个查询:

$query = db_select('node', 'n');
$query->fields('n', array('nid', 'title', 'status'));
$results = $query->execute()->fetchAll();

$count = count($results);

foreach ($results as $result) {
  // ...
}
falq053o

falq053o3#

我认为这是更有效的尝试,而不是。

$result = db_select('table_name' ,'t');
$result->fields('t')->execute();
$num_of_results = $result->rowCount();

相关问题