в настоящее время я использую:
$result = new SQLite3(sprintf("users/USERIDS_DB.sqlite"));
$numRows = $result->exec ("SELECT count(*) FROM USERIDS");
echo sprintf("the number of rows are: %d", $numRows);
но результат равняется 1, когда это должно быть 6 (количество строк, я создал дополнение firefox sqlite3 использования),
Кто-либо может помочь?
Из документации:
public bool SQLite3::exec ( string $query )
Выполняет безрезультатный запрос к заданной базе данных.
Этот метод возвращает булево значение, а не набор результатов. При преобразовании true
в целое число оно станет 1
.
Вы должны использовать SQLite3::query()
. Пример (не проверен):
$rows = $result->query("SELECT COUNT(*) as count FROM USERIDS");
$row = $rows->fetchArray();
$numRows = $row['count'];
Кстати, именование экземпляра класса SQLite3 $result
может ввести в заблуждение (особенно в среде БД). Я бы назвал его $db
или $connection
.