我想通过PHP访问sqlite3数据库并获取输出到json。
<?php
$db = new sqlite3('my.db') or die("Could not open database");
$sql = "SELECT * FROM teams";
$result = $db->query($sql);
while($row = $result->fetcharray())
{
$output[]=$row;
}
$json = '{"team":'.json_encode($output).'}';
json_decode($json);
echo $json;
$db->close();
?>
json输出:
{"0":16,
"team_id":16,
"1":"VfB Stuttgart",
"team_name":"VfB Stuttgart",
"2":"bl1",
"league_shortcut":"bl1"}
他把0,1,2放到输出中,为什么?
答案 0 :(得分:1)
fetcharray()默认返回双键数组:numeric AND fieldname as keys。
如果您只想要其中一个,那么您必须这样说:
->fetcharray(SQLITE3_ASSOC); // string-keys only
->fetcharray(SQLITE3_NUM); // numeric key only
->fetcharray(SQLITE3_BOTH); // the default