在整数上调用成员函数 fetch()



我在查询中遇到一个简单的pdo查询问题:

$NU=$connection->exec("SELECT COUNT(ID) AS Total FROM USERS");
$Result=$NU->fetch(PDO::FETCH_ASSOC)['Total'];
echo "$Result";

由于我在查询中没有要绑定的参数是正确的,因此在没有prepare的情况下使用exec是正确的,我该如何解决这个问题?(Call to a member function fetch() on integer in(

exec()方法仅返回受影响的行数。您可能希望改用query()

$NU=$connection->query("SELECT COUNT(ID) AS Total FROM USERS");
$Result=$NU->fetch(PDO::FETCH_ASSOC)['Total'];
echo "$Result";

query()语句将执行单个查询并返回一个PDOStatement对象,您可以在失败时从中获取或false

您需要使用queryhttp://php.net/manual/en/pdo.query.php ,然后您将拥有一个包含可以使用的结果的对象。

试试这个。

$NU = $connection->query("SELECT COUNT(ID) AS Total FROM USERS");
$result = $NU->fetch();
echo $result['Total'];

您要查找的不是exec而是prepare。来自 PHP 文档: http://php.net/manual/en/pdostatement.fetch.php

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);

最新更新