Создать простой файл JSON на основе базы данных

1

Привет, я разработчик iOS. Я пытаюсь создать простой вывод JSON с моего сайта. Я нашел хорошую стартовую ссылку и вот несколько объяснений, как это сделать.

Поэтому я создал файл accounts.php и поместил его в мою папку public_html

<?php

include_once("JSON.php");
$json = new Services_JSON();

$link = mysql_pconnect("localhost", "user", "pass") or die("Could not connect");
mysql_select_db("iglobe") or die("Could not select database");

$arr = array();

$rs = mysql_query("SELECT * FROM users");
while($obj = mysql_fetch_object($rs)) {
    $arr[] = $obj;
}

Echo $json->encode($arr);

?>

Конечно, я использую мой пользователь и пароль, и я указал свою только что созданную базу данных на мой конец.

поэтому, когда я пытаюсь запросить мой файл, так что http//mywebsite.com/accounts.php нет данных.

Я попытался использовать google chrome и Postman, поэтому он говорит, что никакой ответ не получен, когда я переключаюсь на JSON. Для HTML в Postman нет информации.

Мой вопрос, как я могу его проверить? даже если я использую Echo (123) до include_once ("JSON.php"); линии нет 123 на странице html.

Я пытался проверить PHP только с помощью этого кода:

<?php
    phpinfo();
    ?>

и это работает. У меня PHP версии 5.4.32

  • 0
    Я думаю, что ваш код падает до того, как он достигнет эха ... Если вы не видите 123
  • 1
    Включите все параметры отладки: display_errors и error_reporting . Если ничего другого, даже если запрос полностью обработан, вы должны получить пустой кодированный в json массив: [] . Так как вы этого не сделаете, сценарий спас перед утверждениями эха.
Показать ещё 3 комментария
Теги:

2 ответа

2

Прежде всего, просто используйте функцию PHP json_encode($arr). Он делает именно то, о чем вы просите, и в значительной степени включен в каждую версию PHP, о которой я могу думать.

Документация

Кроме того, я не уверен, что это проблема, но вы можете изменить Echo ==> echo. Как правило, это соглашение.

СУПЕР ВАЖНО

Наконец, НЕ ИСПОЛЬЗУЙТЕ расширение mysql. Он опасен, может работать некорректно и имеет уязвимости безопасности. Используйте mysqli или PDO.

0

Матросов -

Вы очень близки. Используйте функцию json_encode для вывода кода через руководство по PHP. Также рассмотрите возможность использования mysqli вместо mysql для подключения к базе данных, поскольку это была лучшая поддержка для современных серверов MySQL.

http://php.net/manual/en/function.json-encode.php

http://php.net/manual/en/book.mysqli.php

<?php

    include_once("JSON.php");

    $link = mysqli_connect("localhost", "user", "pass") or die("Could not connect");
    $link->mysql_select_db("iglobe") or die("Could not select database");

    $arr = array();

    $rs = mysql_query("SELECT * FROM users");
    while($obj = mysql_fetch_object($rs)) {
        $arr[] = $obj;
    }

    echo json_encode($arr);

    ?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню