Если вы используете «объектно-ориентированный» стиль для создания соединения с базой данных, вы должны использовать его последовательно для всех методов.Это означает, что вы не можете смешивать объектно-ориентированный интерфейс (SQLite*
-классы) и процедурный интерфейс (функции, которые начинаются с sqlite_*
).
Таким образом, если вы используете метод query
для SQLiteDatabase
, он возвращает SQLiteResult
экземпляр объекта (как определено в документации для SQLiteDatabase::query
).Если вы посмотрите sqlite_fetch_array
docs , вы увидите, что в объектно-ориентированном стиле вы должны использовать SQLiteResult::fetch
-метод.
Таким образом, ваш код должен выглядеть следующим образом:
$result = $database->query($query) or die($error);
$i = $result->fetch(); // use the `fetch`-method of the `SQLiteResult` instance
echo $i['sums'];