PHP / MYSQL:获取无限数据

时间:2018-05-31 12:16:49

标签: php mysql mysqli

我的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 :(得分:1)

问题不在于SQL查询或您尝试编码的数据量。出于某种原因,json_encode可以返回空字符串,而不是在遇到无效字符时抛出错误。

您必须确保SQL连接的charater编码与数据库表的编码匹配。例如,如果您在表上使用UTF-8编码,则需要调用以下函数在PHP客户端上强制执行相同的编码:

mysqli_set_charset($conn, "utf8");

有关详细信息,请参阅PHP docs