PHP / MYSQL: получить неограниченное количество данных - PullRequest
0 голосов
/ 31 мая 2018

У меня есть большие данные в моей базе данных mysql (500 строк), когда я пытаюсь получить их все, данные не приходят из базы данных.

Рабочий код

 <?php
include '../db/db.php';

$categoriesDataQuery = mysqli_query($conn, "SELECT * FROM subcategories LIMIT 268");
while ($row = mysqli_fetch_assoc ($categoriesDataQuery)) {
    $categoryData [] = $row;
}

$categoryNewData = $categoryData;
print (json_encode ($categoryNewData)) ;
mysqli_close ($conn);

?>

Не рабочий код

<?php

include '../db/db.php';

$categoriesDataQuery = mysqli_query($conn, "SELECT * FROM subcategories");
while ($row = mysqli_fetch_assoc ($categoriesDataQuery)) {
    $categoryData [] = $row;
}

$categoryNewData = $categoryData;
print (json_encode ($categoryNewData)) ;

mysqli_close ($conn);

?>

Возможно, база данных Mysql имеет некоторые ограничения при выборе пользователем больших данных?!

Кто нибудь сталкивался с этим

1 Ответ

0 голосов
/ 31 мая 2018

Проблема не в запросе SQL или объеме данных, которые вы пытаетесь кодировать.По какой-то причине json_encode может возвращать пустую строку вместо того, чтобы выдавать ошибку при обнаружении недопустимого символа.

Необходимо убедиться, что кодировка charater соединения SQL соответствует кодировке таблицы базы данных.Например, если вы используете кодировку UTF-8 в своей таблице, вам нужно вызвать следующую функцию, чтобы принудительно применить ту же кодировку в клиенте PHP:

mysqli_set_charset($conn, "utf8");

См. PHP документы для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...