我正在尝试计算表中与名为cat_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_id
:
$result=$this->_request->getParam('category');
$validate=new Application_Model_DbTable_Procedure();
$job=$validate->getNoJobs($result);
我做错了什么?
答案 0 :(得分:0)
@sbooob建议,$id
NULL
很可能就是{{1}}。
这个问题和为什么你应该总是在每个功能中验证你的数据,特别是模型,这里有答案:
https://stackoverflow.com/a/6679842/840409
我想添加作为工具的是一个现场“现场”调试器,如ZFDebug,如果你有它,你很可能已经看到了自己的答案,因为你已经能够监控所有生成的查询。我强烈建议使用这些工具。