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()