Zend framework 在zend框架中计算表中的特定行

Zend framework 在zend框架中计算表中的特定行,zend-framework,echo,Zend Framework,Echo,我试图计算表中与名为cat\u id的特定列匹配的行数。我被困在这个错误中: Message: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound 这是我目前掌握的代码: public function getNoJobs($id) { $select=$this->_db->select(); $select->from('job','COUNT(id)'); $s

我试图计算表中与名为
cat\u id
的特定列匹配的行数。我被困在这个错误中:

Message: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound 
这是我目前掌握的代码:

public function getNoJobs($id)
{
    $select=$this->_db->select();
    $select->from('job','COUNT(id)');
    $select->where('cat_id=?',$id);
    $result=$this->getAdapter()->fetchAll($select);
    return $result;
}
我通过一个名为
index
的操作调用它。
$result
是我从表单中获得的
cat\u id

$result=$this->_request->getParam('category');
$validate=new Application_Model_DbTable_Procedure();
$job=$validate->getNoJobs($result);

我做错了什么?

很可能是@sbooob建议的
$id
NULL

以下回答了这个问题以及为什么您应该始终在每个功能中验证数据,尤其是在模型中:


我想添加的工具是一个实时的“现场”调试器,如果你已经安装了它,你很可能已经看到了自己的答案,因为你可以监控所有生成的查询。我强烈建议使用此类工具。

您能添加zend标记吗?@EngineerDollery知道这是否是正确的标记吗?这很可能是因为
$id
为空或未定义。在:$select->where('cat_id=?',$id),尝试die($select->uu toString());您将看到是否有有效的SQL查询。您的类别参数值为空。在这里发布uri。