我在这里查询一个简单的pdo查询问题:
$NU=$connection->exec("SELECT COUNT(ID) AS Total FROM USERS");
$Result=$NU->fetch(PDO::FETCH_ASSOC)['Total'];
echo "$Result";
由于我没有在查询中绑定的参数是正确的使用没有exec
的prepare
,我该如何解决这个问题? (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 doc: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);