#php #json
#php #json
Вопрос:
Приведенный ниже php-скрипт не возвращает никаких данных. Если я использую предложение where для ограничения данных, скрипт возвращает данные нормально. Но если я попытаюсь выбрать все строки (около 1400), ничего не возвращается. Когда я запускаю скрипт в своем браузере, ничего не выдает ошибок, это просто пустая страница.
$conn = new mysqli($serverName, $userName, $password, $dbname);
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM alumni_database.alumni;";
$result = $conn->query($sql);
while($row = mysqli_fetch_assoc($result))
{
$rows[]=$row;
}
$result->close();
$conn->close();
print(json_encode($rows));
РЕШАЕМАЯ: Проблема была с utf8_encoding . Как только я добавил строку:
$conn->query('SET CHARACTER SET utf8');
Скрипт вернул все строки.
Комментарии:
1. Если это поможет, вы можете попытаться проверить, есть ли ошибка, кодирующая $rows с помощью json_last_error()
2. и…
error_reporting(E_ALL); ini_set('display_errors', '1');
3. Я попытался вставить эту строку в код, и ничего не отобразилось. Я также пробовал utf8_encode, это тоже не сработало.
4. попробуйте также добавить после вашего
echo json_last_error_msg()
5. После
$result = $conn->query($sql);
добавленияif ( ! $result ) { echo $conn->error; exit; }