计算sqlite结果集中缓冲的行数 [英] Count number of rows buffered in sqlite result set
本文介绍了计算sqlite结果集中缓冲的行数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用count函数来获取结果集中缓冲的行数.
I am using count function to get the number of rows buffered in a resultset.
但是即使结果集为空,它也始终将count返回为1.
But it always returns count as one even if resultset is empty.
请参见下面的代码:
$dbhandle = new SQLite3("sqlitedb_111.db");
$selQuery1 = "SELECT id,dbname,tabname,fieldname FROM scan_results ORDER BY id ASC LIMIT 0,10";
$resQuery1 = $dbhandle->query($selQuery1);
print count($resQuery1);
我在做什么错,我该如何解决?
What am I doing wrong and how can I fix this?
推荐答案
As per your comment if you just want to return the count of records you could wrap your query in a SELECT COUNT(*)
and change $dbhandle->query
to $dbhandle->querySingle
. This will work with or without LIMIT
.
$dbhandle = new SQLite3("sqlitedb_111.db");
$selQuery1 = "SELECT COUNT(*) FROM (SELECT id,dbname,tabname,fieldname FROM scan_results ORDER BY id ASC LIMIT 0,10)";
$resQuery1 = $dbhandle->querySingle($selQuery1);
print count($resQuery1);
这篇关于计算sqlite结果集中缓冲的行数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文