在下面的代码中当我 var_dump($result)
我可以看到我想要的数据在里面。。。但我还没能做到。
代码:
try {
$query = new dbquery(Connection::make($dbconfig['dbinfo']));
$count = $query->runSQL("select count(*) from table_name");
$result = $count->fetchAll();
var_dump($result);
echo $result[0];
echo $result[1];
}
catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
sql语句:
public function runSQL($sql, $params = NULL) {
//Prepares the SQL Statement you pass through
$statement = $this->pdo->prepare($sql);
//Binds the Parameters I pass through on execute, so no need for seperate $statement->bindParam()
$statement->execute($params);
//Returns the statement.
return $statement;
}
变量转储输出:
array(1) { [0]=> array(2) { ["count(*)"]=> string(1) "3" [0]=> string(1) "3" } } Array
这是最重要的 ["count(*)]
我需要的钥匙,价值 3
我试过以下方法,但没有一个给我正确的值:
echo $result[0];
echo $result[1];
echo $result['count(*)'];
谁能告诉我哪里出错了,我只想知道行数。
3条答案
按热度按时间fdbelqdn1#
获取行数的sql命令是
iyr7buue2#
在只返回1行的情况下,需要避免使用fetchall(count、sum或任何group函数)
你可以用
或者
1cklez4t3#
你得到的结果是数组中的数组。您可以执行以下操作:
或者
请注意,为了更好的可读性,在查询中使用别名是一个好习惯。例如,
COUNT(*)
可以化名为total_count
:现在,您可以访问总行数,如下所示: