Суммирование значений в базе данных sqlite с помощью php - PullRequest
0 голосов
/ 08 января 2012

У меня есть база данных sqlite следующим образом

id number 
1    24
2    34
3    65

Я хотел бы подвести итог столбцу чисел и распечатать вывод.Я пробовал следующее, но get "sqlite_fetch_array () ожидает, что параметр 1 будет ресурсом, объект задан".

$database = new SQLiteDatabase('test.sqlite', 0666, $error);
$query = "SELECT SUM(Number) AS sums FROM Pushups"; 
$result = $database->query($query) or die($error); 
$i = sqlite_fetch_array($result); 

echo $i['sums'];  

Может кто-нибудь показать мне правильный способ сделать это Спасибо

1 Ответ

1 голос
/ 08 января 2012

Если вы используете «объектно-ориентированный» стиль для создания соединения с базой данных, вы должны использовать его последовательно для всех методов.Это означает, что вы не можете смешивать объектно-ориентированный интерфейс (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']; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...