mysql — простой веб-сервис на PHP, метод Get

Я пытаюсь разработать простой веб-сервис, который обслуживает мое приложение с дополненной реальностью Wikitude с данными. Данные будут передаваться в формате JSON и извлекаться из базы данных MYSQL. До сих пор я смог подключиться к своей базе данных и получить данные в формате JSON.

Тем не менее, мне нужно доработать его, чтобы делать запросы HTTP Get Method. Вот мой PHP-скрипт

<?PHP
//open connection to mysql db
$connection = mysqli_connect("localhost","root","","tutorial") or die("Error " . mysqli_error($connection));

//fetch table rows from mysql db
$getData = "select * from places";
$qur = $connection->query($getData);

while($r = mysqli_fetch_assoc($qur)){

$msg[] = array("id" => $r['id'], "longitude" => $r['longitude'], "latitude" => $r['latitude'], "description" => $r['description'], "name" => $r['name']);
}
$json = $msg;

header('content-type: application/json');
echo json_encode($json);

@mysqli_close($conn);
?>

В настоящее время, если я сделаю запросы, например, как
http://localhost/json_internet2.php?longitude=13.88345 В результате все данные из базы данных. Следовательно, это не работает.

как я могу продолжить это? Любая помощь будет полезна.

Спасибо

0

Решение

Предполагая, что в вашей базе данных есть столбец «долгота», вам нужно изменить запрос SQL, чтобы учесть переменную GET (долгота в вашем примере), и использовать его для фильтрации результата.

Пример:

//open connection to mysql db
$connection = mysqli_connect("localhost","root","","tutorial") or die("Error " . mysqli_error($connection));

//fetch table rows from mysql db
$getData = "select * from places";

if(isset($_GET['longitude']) && !empty($_GET['longitude'])){
$longitude = mysqli_real_escape_string($_GET['longitude']);
$getData = "select * from places WHERE longitude = '$longitude' ";
}

$qur = $connection->query($getData);

while($r = mysqli_fetch_assoc($qur)){

$msg[] = array("id" => $r['id'], "longitude" => $r['longitude'], "latitude" => $r['latitude'], "description" => $r['description'], "name" => $r['name']);
}
$json = $msg;

header('content-type: application/json');
echo json_encode($json);

@mysqli_close($conn);

Это выходит за рамки этого вопроса, но учтите, что для проблем безопасности вам действительно следует использовать PDO и подготовленные операторы. Больше информации: http://php.net/manual/en/pdo.prepared-statements.php

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]