【问题标题】:objects and strings对象和字符串
【发布时间】:2009-04-01 15:39:36
【问题描述】:

我试图返回一组对象。

但是这段代码给了我以下错误:

可捕获的致命错误:无法将 User 类的对象转换为...中的字符串

 public function fetchObject($psClassname ="",$paParams =array()){
            $lrResource = $this->mrQueryResource;
            $liResult = null; 
            while($row = mysql_fetch_object($lrResource,$psClassname,$paParams)){
                $liResult .= $row;     <-this line produces the error
            }
            return $liResult;
         }

【问题讨论】:

    标签: php object


    【解决方案1】:

    在您的代码中,$row 是一个对象(您使用过 mysql_fetch_object),并且 .= 运算符尝试构建一个字符串,将 $liResult 和 $row 连接起来。我相信这种行为只有在你的对象实现 toString method

    时才有效

    您可以使用以下代码返回一个行数组:

    public function fetchObject($psClassname ="",$paParams =array()){
            $lrResource = $this->mrQueryResource;
            $liResult = array();
            while($row = mysql_fetch_object($lrResource,$psClassname,$paParams)){
                    $liResult[] = $row;
            }
            return $liResult;
    }
    

    【讨论】:

      【解决方案2】:

      这是因为您试图将 $row 转换为字符串(.= 假定在右侧给出了字符串)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-11
        • 1970-01-01
        相关资源
        最近更新 更多