我正在尝试将sqlite query转换为json。我有两个列名称和年龄下表。当我打印查询时,格式似乎不正确。为什么我会得到一个额外的键值对?
<?php
$db = new SQLite3('info.db');
$results = $db->query('SELECT * FROM info');
while ($row = $results->fetchArray()) {
$jsonArray[] = $row;
}
echo json_encode($jsonArray)
?>
输出
[{"0":"billy","name":"billy","1":"20","age":"20"}]
期望输出
[{"name":"billy","age":"20"}]
4条答案
按热度按时间mwyxok5s1#
下面是一个例子:
dldeef672#
更改查询以仅获取那些必需的列:
然后使用
SQLITE3_ASSOC
参考:-SQLite3Result::fetchArray
参数***
模式
控制如何将下一行返回给调用方。此值必须是SQLITE3_ASSOC、SQLITE3_NUM或SQLITE3_BOTH之一。
SQLITE3_ASSOC:返回一个数组,该数组按相应结果集中返回的列名索引
SQLITE3_NUM:返回按相应结果集中返回的列号索引的数组,从第0列开始
SQLITE3_BOTH:从列0开始,返回一个数组,该数组由相应结果集中返回的列名和编号索引
2w2cym1i3#
比那些都简单
8tntrjer4#
http://php.net/manual/en/pdostatement.fetch.php
说你可以使用这个如果你使用pdo
$sth是您的查询