Php 致命错误:未捕获错误:调用布尔值上的成员函数Fetch()
经过研究,我没有找到任何解决办法。请帮帮我。 我的数据库是这样的:Php 致命错误:未捕获错误:调用布尔值上的成员函数Fetch(),php,pdo,Php,Pdo,经过研究,我没有找到任何解决办法。请帮帮我。 我的数据库是这样的: $article = array($_GET['id']); $bdd = new PDO('mysql:host=localhost;dbname=matr;charset=utf8', 'matr', 'vicecity'); $articletitre = $bdd->prepare('SELECT titre FROM articles WHERE id=?'); $articletitre = $
$article = array($_GET['id']);
$bdd = new PDO('mysql:host=localhost;dbname=matr;charset=utf8', 'matr', 'vicecity');
$articletitre = $bdd->prepare('SELECT titre FROM articles WHERE id=?');
$articletitre = $articletitre->execute($article);
$articletitre = $articletitre->fetch();
我有这个错误
致命错误:未捕获错误:调用上的成员函数Fetch() 布尔值
问题就在于这个说法,
$articletitre = $articletitre->execute($article);
^^^^^^^^^^^^^
->execute()
在执行准备好的语句后返回TRUE
或FALSE
。这就是为什么$articletTitre->fetch()代码>失败,因为您试图对布尔值执行->fetch()
方法。因此,您的代码应该如下所示:
$article = array($_GET['id']);
$bdd = new PDO('mysql:host=localhost;dbname=matr;charset=utf8', 'matr', 'vicecity');
$articletitre = $bdd->prepare('SELECT titre FROM articles WHERE id=?');
$articletitre->execute($article);
$articletitre = $articletitre->fetch();
定义$bdd
后,添加$bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION)代码>-这将设置PDO抛出异常,您不能忽略异常-这意味着将显示并记录任何错误(如果您启用PHP错误日志记录)。我添加了您的行,没有更多关于打印的输出($articletitre->errorInfo())代码>?您覆盖了$articleTire
,这是所有致命错误:未捕获错误:调用布尔值上的成员函数ErrorInfo()