mysql — PHP mysqli_query, возвращающий 0, если я не ограничиваю количество результатов запроса

В настоящее время я выполняю запрос в PHP с использованием mysqli_query (используя экземпляр Amazon EC2 на свободном уровне). Я json_encoding результатов и возвращаю их. По какой-то причине, если я не наложу ограничение на количество возвращаемых результатов запроса (или установлю ограничение на значение, превышающее 158 результатов), массив вернет ‘0’. Тем не менее, если я установлю ограничение <= 158 результатов, все мои результаты возвращаются правильно в массиве. Код ниже:

function pullFriendData() {
$userID = $GLOBALS['userID'];
$userArray = array();

$query = "SELECT * FROM `User` WHERE `userID` in (SELECT `friendID` FROM `UserFriends` WHERE `userID` = '" . $userID . "'";
if ($query_result = mysqli_query($GLOBALS['con'], $query)) {
while ($row = $query_result->fetch_assoc()) {
$row = convertUserToInt($row);
array_push($userArray, cleanse($row));
}
} else {
echo "[pullFriendData]: Issue with finding friends of given user";
}
return json_encode($userArray);
}

Очень странное поведение — кто-нибудь сталкивался с этим? Это проблема PHP или проблема EC2? Следует также отметить, что я выполняю несколько других запросов к различным таблицам, которые возвращают сотни и сотни результатов без проблем.

0

Решение

Оказывается, это произошло потому, что json_encode ломается над символами с ударением, и один из моих результатов запроса (точно на позиции 160) включал символ с ударением

0

Другие решения

Других решений пока нет …