PHP PDO 返回真

乔纳森·布雷多·克里斯滕森

我试图从我的数据库中提取一些数据,但是返回了一个布尔值(如预期的那样),但是当我尝试 的变体时->fetch(),我得到了错误Fatal error: Uncaught Error: Call to a member function fetch() on bool

不知何故,似乎->execute();-function 保存了 bool 而不是对象 - 我不知道为什么。我想我对自己的代码视而不见?

代码

<?php
$cc = $pdo->prepare("SELECT country FROM quarter WHERE company_id = ? GROUP BY 1 ORDER BY country ASC")->execute([$_GET["id"]]);
#var_dump($cc);
var_dump($cc->fetch());
var_dump($cc->fetchAll(PDO::FETCH_COLUMN));
?>

预期回应

country
GB
NO

实际反应

Fatal error: Uncaught Error: Call to a member function fetch() on bool in [..]
我是谁

execute()方法返回bool而prepare() 返回对象

您应该使用fetch()对象本身的方法

$cc = $pdo->prepare("SELECT country FROM quarter WHERE company_id = ? GROUP BY 1 ORDER BY country ASC");

$cc->execute([$_GET["id"]]);
#var_dump($cc);
var_dump($cc->fetch());

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章