如何根据级别ID获取用户数

时间:2015-01-07 17:51:31

标签: php sql zend-framework

我正在使用zend框架,我正在尝试获得级别为11的用户数。我是Zend的新手并且没有使用他们的数据库查询格式。我可以用直接的SQL来做,但我想保持他们的格式。任何建议都很棒。

$select = $table->select()
    ->setIntegrityCheck(false)
    ->from(array('u' => $table->info('name')), array('cnt' => 'COUNT(u.user_id)'))
    ->where('level_id = ?', 11)
    ->where('approved = ?', 1)
    ->where('verified = ?', 1)
    ->where('enabled = ?', 1);

这只是返回1,应该是251

2 个答案:

答案 0 :(得分:0)

请看一下。

$select = $db->select()
    ->setIntegrityCheck(false)
    ->from($table->info('name'), array('ctn'=>'COUNT(user_id)'))
    ->where('level_id = ?', 11)
    ->where('approved = ?', 1)
    ->where('verified = ?', 1)
    ->where('enabled = ?', 1);

$result = $db->fetchRow($select);
echo $result["ctn"];

答案 1 :(得分:0)

更简单:

$select = $db->select()
->setIntegrityCheck(false) //really necessary ?
->from($table->info('name'), 'COUNT(user_id)' )
->where('level_id = ?', 11)
->where('approved = ?', 1)
->where('verified = ?', 1)
->where('enabled = ?', 1);

$ result = $ db-> fetchOne($ select); echo $ result;