gpt4 book ai didi

zend-framework - ZF : Invalid parameter number: no parameters were bound Error

转载 作者:行者123 更新时间:2023-12-04 06:42:07 24 4
gpt4 key购买 nike

我创建了一个函数来获取像这样的表中最后一个字段的值

private function _getLastPosition ($menuId) {
$select = $this -> getDbTable() -> select();
$select -> where("menu_id = ?", $menuId)
-> order('position DESC');
$row = $this -> getDbTable() -> fetchRow($select);
if($row) {
return $row -> position;
} else {
return 0;
}
}

当我运行它时,我得到

Message: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound



请帮我解决这个问题

最佳答案

这通常意味着 $menuId 为空/NULL。在 $select 中使用它之前,请确保 $menuId 变量具有正确的值:

在 $select->where() 调用中使用 $menuId 之前,您可以在函数的开头添加以下行:

if(empty($menuId))
return 0;

如果没有提供 $menuId,这将返回 0。如果您想在这种情况下抛出错误(异常),您可以执行以下操作:
if(empty($menuId))
throw new Exception("No Menu ID Provided");

您的完整函数如下所示:
private function _getLastPosition ($menuId) {
if(empty($menuId))
throw new Exception("No Menu ID Provided");
$select = $this -> getDbTable() -> select();
$select -> where("menu_id = ?", $menuId)
-> order('position DESC');
$row = $this -> getDbTable() -> fetchRow($select);
if($row) {
return $row -> position;
} else {
return 0;
}
}

关于zend-framework - ZF : Invalid parameter number: no parameters were bound Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6679770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com