ZF: Invalid parameter number: no parameters were bound Error

后端 未结 1 517
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-07 02:13

I created a function to get the a value of last field in a table like this

private function _getLastPosition ($menuId) {
    $select = $this -> getDbTable         


        
相关标签:
1条回答
  • 2020-12-07 03:09

    It typically means that $menuId was empty/NULL. Ensure that $menuId variable has a proper value before using it in $select.:

    You could add the following line at the beginning of your function, before you use $menuId in your $select->where() call:

    if(empty($menuId))
       return 0; 
    

    This will return 0 in case no $menuId was provided. If you want to throw an error (Exception) in such case, you could do the following:

    if(empty($menuId))
       throw new Exception("No Menu ID Provided"); 
    

    Your complete function would look like this:

    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;
        }
    }
    
    0 讨论(0)
提交回复
热议问题