Привет я создаю некоторые фиктивные данные в SQL-запросе и возвращаю данные в формате jso n. Я полагаю, что я подключаюсь к базе данных mysql через odbc. Однако набор данных кажется пустым, когда я выполняю тот же запрос в рабочей среде, он возвращает данные в порядке.
Так данные возвращаются на веб-страницу, на которой выполняется вызов.
"[{"coords":{"lat":null,"lng":null},"iconImage":null,"content":null},{"coords":{"lat":null,"lng":null},"iconImage":null,"content":null}]
вот мой код, у меня нет сообщений об ошибках, просто пустой JSON.
require("../PHP/phpsqlajax_dbinfo.php");
$connection=odbc_connect($database, $username, $password);
if (!$connection)echo 'Failed to connect';
//Select Test statement
$query="select 53.745 as lat,-0.338 as lng,'https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png' as iconImage, '<h1>Tony G</h1>' as content union all
select 53.745 as lat,-0.310 as lng,'https://maps.gstatic.com/mapfiles/ms2/micons/blue.png' as iconImage, '<h1>fred</h1>' as content ";
$result=odbc_exec($connection,$query);
//work through result and create JSON
while ($row = odbc_fetch_row($result)){
$json[] = [
'coords' => ['lat' => $row['lat'],'lng' => $row['lng']],
'iconImage' => $row['iconImage'],
'content' => $row['content'],
];
}
echo json_encode($json);
Я немного озадачен тем, что я делаю неправильно.
Спасибо
Хотя это неясно из руководство где данные идут в odbc_fetch_row
понятно что результат (true
или же false
) этой функции не то, что вы ожидаете. Итак, вы должны использовать другую функцию, которая возвращает массив, в этом случае это odbc_fetch_array
:
while ($row = odbc_fetch_array($result)){
$json[] = [
'coords' => ['lat' => $row['lat'],'lng' => $row['lng']],
'iconImage' => $row['iconImage'],
'content' => $row['content'],
];
}
Других решений пока нет …