Intereting Posts
PHP – анализировать данные из ответа SOAP как проверить выбор через javascript php: parse html: извлекать теги скрипта из тела и вводить перед </ body>? Facebook getAccessToken () возвращает токен доступа к приложениям: работает отлично на одном сервере, но бросает токен доступа к приложениям в другом. Как найти максимальную и минимальную дату в массиве? Почему datetime-> days всегда возвращает положительное число Есть ли способ в MySQL для автоматического преобразования пустой строки в значение NULL? Как начать новую строку HTML из PHP? PHP получить pdf-файл из базы данных с кодировкой base64 Функция «Пользователь вводит сообщение» …? как читать файлы, сохраненные на сервере, используя php и совершать вызовы на эту php-страницу, используя ajax для отображения списка файлов Как сохранить вложения электронной почты в php? Проблемы при установке pear.phpunit.de/PHPUnit PHP встроенный вывод PDF в Google Chrome – проблема с PDF-файлами выше 150k Gmail игнорирует мои письма в формате HTML

PHP Json Encode PDO :: FETCH_ASSOC

Я пытаюсь вернуть все строки моей таблицы базы данных MSSQL и выплюнуть их в JSON_ENCODE.

Когда я использую это и повторяю $ json, я получаю пустую страницу. Когда я делаю var_dump на этом var, я получаю bool, false.

$sth = $db->prepare("SELECT * FROM dbo.Devices"); $sth->execute(); $array = $sth->fetchAll( PDO::FETCH_ASSOC ); $json = json_encode($array); 

Однако, если бы я должен был поместить тот же fetchAll в результат var и распечатать его, он отлично работает!

 Working using print function. $result = $sth->FetchAll(); print_r($result); 

Я читал о других проблемах с подобными проблемами и что это проблема с кодировкой UTF8, поэтому я попытался сделать utf8_encode в массиве $ перед json_encode, но с тем же результатом пустой страницы. Может кто-нибудь объяснить это?

json_encode чувствителен к кодировке символов. Он не сработает, если он не сможет обработать кодировку. print_r нет. Он будет счастливо распечатать все, что вы ему дадите.

Исправление utf8_encode будет работать только в том случае, если строки в исходных данных кодируются как ISO-8859-1. Предполагая, что это правда, он должен работать. Убедитесь, что вы сделали это так … https://stackoverflow.com/a/2790107/111755