преобразовать данные sqlite в json, используя php - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь преобразовать sqlite-запрос в 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"}]

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Измените запрос, чтобы получить только те столбцы, которые необходимы:

$results = $db->query('SELECT name,age FROM info'); 
// if you want all column then only use *

А затем используйте SQLITE3_ASSOC

while($row = $results->fetchArray(SQLITE3_ASSOC)){ 

Ссылка: - SQLite3Result :: fetchArray

Параметры

mode

Управляет тем, какследующий ряд будет возвращен вызывающему.Это значение должно быть одним из SQLITE3_ASSOC, SQLITE3_NUM или SQLITE3_BOTH.

SQLITE3_ASSOC : возвращает массив, проиндексированный по имени столбца и возвращенный в соответствующем наборе результатов

SQLITE3_NUM : возвращает массив, индексированный по номеру столбца, как возвращено в соответствующем наборе результатов, начиная со столбца 0

SQLITE3_BOTH: возвращает массив, индексированный как по имени столбца, так и по номеру, который возвращается в соответствующем наборе результатов, начиная со столбца 0

0 голосов
/ 13 ноября 2018

http://php.net/manual/en/pdostatement.fetch.php

говорят, что вы можете использовать это, если вы используете pdo

$result = $sth->fetch(PDO::FETCH_OBJ);

$ sth ваш запрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...