Я использую фреймворк Flight на бэкэнд для создания службы RESTful и PDO для извлечения данных с MySql.Оператор Sql возвращает null, когда на самом деле есть значение
require 'flight/Flight.php';
Flight::route('GET /satellites', function() {
$sql = "SELECT * FROM satellites";
try {
$db = getConnection();
$stmt = $db->prepare($sql);
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$response = json_encode($stmt->fetchAll());
$db = null;
echo "{sucess: true, records:" . "$response" . "}";
} catch (PDOException $e) {
echo '{"error":{"text":' . $e->getMessage() . '}}';
}
});
Flight::start();
Я получаю JSON в ответ:
{
sucess: true,
records:[
{
"id":"1",
"dates":"01.01.2007 - 01.01.2011",
"satellite":null,
null:"98.2",
"resolution":"15",
"band":"30",
"price":"$15"
}
]
}
выше правильно, но спутник не должен быть пустым, это, безусловно, имеет значение (я проверил это через PHPMyAdmin). Также есть столбец с именем null со значением 98.2, который следует называть nadir. Почему он называется null?
BTW, тип данных спутниковых и надирских столбцов - varchar (255). Затем я изменил тип данных столбца спутника на текст, но все-таки.
Что вы сверка? –
utf8_general_ci –
Вы проверили, есть ли проблема с 'json_encode()'? Что возвращает '$ stmt-> fetchAll()'? – ragol