currently I am using:
$result = new SQLite3(sprintf("users/USERIDS_DB.sqlite"));
$numRows = $result->exec ("SELECT count(*) FROM USERIDS");
echo sprintf("the number of rows are: %d", $numRows);
but the result is 1 when it should be 6 (the number of rows I created using firefox sqlite3 addon)
Can anybody help please?
From the documentation:
This methods returns a boolean, not a result set. When you convert
true
to an integer it will become1
.You should use
SQLite3::query()
. Example (untested):Btw, naming the instance of the SQLite3 class
$result
can be misleading (especially in a DB environment). I would call it$db
or$connection
.It's have benefit, when you have conditions in the count
select
query:Here is a working way to get the number of rows since neither
sqlite_num_rows($result)
nor$result->numRows()
works on SQLite3:This really helped me it works actually you may try it