我有一个sqlite数据库,如下所示
id number
1 24
2 34
3 65
我想总结一下数字列的总数并打印输出。我已尝试过以下内容,但得到" 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'];
有人可以告诉我这样做的正确方法 感谢
答案 0 :(得分:1)
如果使用“面向对象”样式来创建数据库连接,则必须对所有方法一致地使用它。这意味着您不能混合面向对象的接口(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'];