我真正想知道的是我的查询是否返回了结果,但是一个实际的行计数值会更好。示例:
$query = db_select('node', 'n'); $query->fields('n', array('nid', 'title', 'status'));
whlutmcx1#
您正在寻找:countQuery()在您的示例中,您可以用途:
$query = db_select('node', 'n'); $query->fields('n', array('nid', 'title', 'status')); $num_rows=$query->countQuery()->execute()->fetchField();
来计算结果,并在之后获取它们:
$result=$query->execute();
hgqdbh6s2#
您可以使用方便的fetchAll()方法将所有结果加载到一个数组中,然后将数组计数为正常值。这将导致只执行一个查询:
fetchAll()
$query = db_select('node', 'n'); $query->fields('n', array('nid', 'title', 'status')); $results = $query->execute()->fetchAll(); $count = count($results); foreach ($results as $result) { // ... }
falq053o3#
我认为这是更有效的尝试,而不是。
$result = db_select('table_name' ,'t'); $result->fields('t')->execute(); $num_of_results = $result->rowCount();
3条答案
按热度按时间whlutmcx1#
您正在寻找:
countQuery()
在您的示例中,您可以用途:
来计算结果,并在之后获取它们:
hgqdbh6s2#
您可以使用方便的
fetchAll()
方法将所有结果加载到一个数组中,然后将数组计数为正常值。这将导致只执行一个查询:falq053o3#
我认为这是更有效的尝试,而不是。