我在PHP中有一个SQLite查询:
$database = new SQLite3("database.db");
$statement = $database->prepare("SELECT * FROM table");
$result = $statement->execute();
$table = array();
while ($row = $result->fetchArray()) {
array_push($table, $row);
}
var_dump($table);
并输出
array(2) {
[0]=> array(4) {
[0]=> int(1)
["event"]=> int(1)
[1]=> string(2) "A1"
["code"]=> string(2) "A1"
}
[1]=> array(4) {
[0]=> int(5)
["event"]=> int(5)
[1]=> string(2) "A2"
["code"]=> string(2) "A2"
}
}
哪个是正确的数据,但是它输出了两次所有信息:一个附加了索引,另一个附有列名。有没有办法选择其中一个?这个程序需要非常高效,因为它将扩展到有数千行。
答案 0 :(得分:0)
SQLite的fetchArray函数可以采用mode参数。您可以使用SQLITE3_ASSOC
,SQLITE3_NUM
或SQLITE3_BOTH
获得所需的效果。我想在发布之前我应该查看文档:)
答案 1 :(得分:0)
这将为您提供常规的mysql样式的关联数组输出
$db = new SQLite3('dbs');
$result = $db->query("SELECT * FROM table");
$assoc_array = array();
while ($dbs_row = $result->fetchArray(SQLITE3_ASSOC)) {
$assoc_array[] = $dbs_row;
}