我在查询中遇到一个简单的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
。
您需要使用query
http://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);