可以在类内获取数据,但返回时只发送布尔值php PDO?

可以在类内获取数据,但返回时只发送布尔值php PDO?,php,mysql,pdo,Php,Mysql,Pdo,我正在尝试使用PDO构建数据库类这是我第一次使用PDO,所以在构建过程中,我陷入了这个问题,我能够使用类创建并连接到数据库,但问题是当我尝试执行并获取返回的数据时,错误表示 调用成员函数fetch on boolean 然而,我可以在类内部进行这种提取,只有当我试图提取返回的数据时,才会出现这个问题,并且我已经回显了返回的数据,它正在返回1 这是一个试图返回的函数,它并没有使用参数,只是使用了dummy 调用类对象名是$myobj 这是相同的代码,唯一的区别是这是在类中。工作时没有任何错误 您的

我正在尝试使用PDO构建数据库类这是我第一次使用PDO,所以在构建过程中,我陷入了这个问题,我能够使用类创建并连接到数据库,但问题是当我尝试执行并获取返回的数据时,错误表示

调用成员函数fetch on boolean

然而,我可以在类内部进行这种提取,只有当我试图提取返回的数据时,才会出现这个问题,并且我已经回显了返回的数据,它正在返回1

这是一个试图返回的函数,它并没有使用参数,只是使用了dummy

调用类对象名是$myobj

这是相同的代码,唯一的区别是这是在类中。工作时没有任何错误


您的方法返回$stmt->execute的结果,该结果表示语句执行的成功/失败,而不是查询结果

相反,要使方法按照您使用它的方式工作,您需要执行语句,然后返回语句本身,而不是执行的结果


您的方法返回$stmt->execute的结果,该结果表示语句执行的成功/失败,而不是查询结果

相反,要使方法按照您使用它的方式工作,您需要执行语句,然后返回语句本身,而不是执行的结果


阅读文档以了解更多信息。特别是返回值部分。请阅读文档以了解。特别是返回值部分。非常感谢。我只是花了两个小时试图解决这个问题。很好地解释了。@ThalindaBandara我知道它是怎么回事,有时答案就在那里,而且在你看到它之后,它看起来很明显。在花了几个小时试图自己解决错误的问题之后,我实际上只是在休息一下。好时光-谢谢@funkfortyniner谢谢你非常感谢我花了两个小时试图弄明白这一点,很好地解释了。@ThalindaBandara我知道它是怎么回事,有时候答案就在那里,而且在你看到它后看起来很明显。在花了几个小时试图自己解决错误的问题之后,我实际上只是在休息一下。好时光-谢谢@FunkFortyNiner
 public function init($query,$param =[]){
        if(!$this->bConnected) { $this->Connect(); }
        try{
            $stmt = $this->pdo->prepare('SELECT * FROM business');
            $stmt->execute();
            return $stmt->execute();


        }catch(Exception $e){
            echo $e->getMessage();
        }




     }
 $stmt = $myobj->init('SELECT * FROM business',$value);

    while($rows = $stmt->fetch(PDO::FETCH_ASSOC)){

        echo( $rows['bs_name'] ."  |" .$rows['bs_id']. "<br>");
    }
   public function init($query,$param =[]){
        if(!$this->bConnected) { $this->Connect(); }
        try{
            $stmt = $this->pdo->prepare('SELECT * FROM business');
            $stmt->execute();
             $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
            while($rows = $stmt->fetch(PDO::FETCH_ASSOC)){
                echo( $rows['bs_name'] ."  |" .$rows['bs_id']. "<br>");
            }

        }catch(Exception $e){
            echo $e->getMessage();
        }




     }
$stmt = $this->pdo->prepare('SELECT * FROM business');
return $stmt->execute();
$stmt = $this->pdo->prepare('SELECT * FROM business');
$stmt->execute();
return $stmt;