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