2015-11-02 4 views
0

Что такое простой пример PHP-запроса в отношении одной таблицы в MySQL, которая создает объект JSON и возвращает его?PHP-запрос, возвращающий объект JSON

+0

Вы хотите сделать три вещи: [выполнить запрос SQL] (http://blog.hubspot.com/marketing/sql-tutorial-introduction), [конвертировать его в объект JSON] (http://php.net/manual/en/function.json-encode.php), и [вернуть его] (http://php.net/manual/en/function.return.php). – Ben

+0

Реальный вопрос заключается в том, как преобразовать результирующий набор в объект JSON. Есть ли функция, которая сделает это? –

+0

'json_encode ($ array)' – Ben

ответ

2

Ниже приведен пример того, что вы описали. Сначала, если выполняется запрос к БД. Затем выполняет итерацию по результатам и помещает ее в массив ($ results), а затем отображает этот массив как объект json.

<?php 
$mysqli = new mysqli("localhost", "my_user", "my_password", "my_db"); 
$query = "SELECT * FROM table"; 

$results = array(); 

if ($result = $mysqli->query($query)) { 

    /* fetch associative array */ 
    while ($row = $result->fetch_assoc()) { 
     $results[] = $row; 
    } 

    /* free result set */ 
    $result->free(); 
} 

/* close connection */ 
$mysqli->close(); 

/* print json object*/ 
echo json_encode($results); 
?> 

Пример для получения результатов DB был найден здесь: http://php.net/manual/en/mysqli-result.fetch-assoc.php

Использование json_encode, можно найти здесь: http://php.net/manual/en/function.json-encode.php

+0

Вы должны изменить заголовок 'content-type' на' application/json' imho – DarkBee

+1

Wow. Начало, которое я искал. Благодаря! –

+0

Было ли что-то еще, что вы хотели узнать? Если нет, можете ли вы пометить ответ как принятый? @darkbee, только если то, что вы хотите сделать с результатом, напрямую отправляет его браузеру/клиенту. –