JSON кодируют результаты MySQL

Я бы рекомендовал использовать PDO (объекты данных PHP) для запуска параметризованных SQL-запросов.

Это не только защищает от SQL-инъекции, но и ускоряет выполнение запросов.

И используя функции PDO, а не mysql_, mysqli_ и pgsql_, вы делаете свое приложение немного более абстрактным из базы данных, в редких случаях, когда вам нужно переключать поставщиков баз данных .

297
задан Gottlieb Notschnabel 14 November 2014 в 13:36
поделиться

3 ответа

$sth = mysqli_query("SELECT ...");
$rows = array();
while($r = mysqli_fetch_assoc($sth)) {
    $rows[] = $r;
}
print json_encode($rows);

функция json_encode потребности PHP> = 5.2 и пакет php-json - как упомянуто здесь

ПРИМЕЧАНИЕ : mysql удерживается от использования с PHP 5.5.0, используйте mysqli расширение вместо этого http://php.net/manual/en/migration55.deprecated.php .

480
ответ дан Community 23 November 2019 в 01:31
поделиться

в http://www.php.net/mysql_query говорится" mysql_query() возвраты ресурс".

в http://www.php.net/json_encode говорится, что это может закодировать любое значение "кроме ресурса".

необходимо выполнить итерации через и собрать результаты базы данных в массиве, тогда json_encode массив.

26
ответ дан Rob W 23 November 2019 в 01:31
поделиться

Вышеупомянутое не будет работать в моем опыт, прежде чем вы назовете корневой элемент в массиве к чему-то, я не смог получить доступ ни к чему в последний json перед этим.

$sth = mysql_query("SELECT ...");
$rows = array();
while($r = mysql_fetch_assoc($sth)) {
    $rows['root_name'] = $r;
}
print json_encode($rows);

Это должно помочь!

Пар

9
ответ дан 23 November 2019 в 01:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: