php - JSON 响应对于 PHP 来说太大了吗?

标签 php mysql json

使用我创建的数据库,我可以运行以 JSON 格式输出数据的搜索查询,然后将它们发送回我的网页。相当标准。

$searchQuery  = "SELECT * FROM alldata where $searchBy like '%$searchValue%'" ;
$searchResult = mysqli_query($con, $searchQuery);

while ($row = mysqli_fetch_row($searchResult)) {

$item = array();
    $item["dateReceived"] = convertDate($row[1]);    
    $item["quoteCost"] = $row[15];
    $item["quoteNumber"] = $row[16];
    $item["quoteExpDate"] = convertDate($row[17]);    
    $item["comments"] = $row[21];    

    $output[] = $item; 
    }

$out = array('aaData' => $output);    
echo json_encode($out);

当我的查询过于笼统时,有些东西会失败,而且我不确定它在哪里。

我从服务器得到的响应是:

Fatal error :  Allowed memory size of 134217728 bytes exhausted (tried to allocate 14680165 bytes) in C:\xampp\htdocs\....php</b> on line <b>74</b><br />

我的内存限制在 php.ini 中设置为:

memory_limit=128M

如果我进入 mySQL 并编写 SELECT * FROMalldataWHERE name like "%a%"; 我得到大约 35,000 行,每行大约有 20 列,但是只需要一瞬间。

我可以针对该表查询的数量非常小 - 我可以做些什么来解决这个问题,以便我的用户可以运行更通用的查询?

最佳答案

  1. 预先定义输出数组长度 => $output=array(mysql_count($query));
  2. 在你的 sql 查询中包含一个 LIMIT

关于php - JSON 响应对于 PHP 来说太大了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30488503/

相关文章:

mysql - Express.js 没有添加到 mysql

mysql - 在 mysql 中设置为唯一的几个字段

mysql - 为什么 MySQL 查询返回零行,但碎片整理后它可以工作?

php - 从数组 php 获取 50 条记录

json - JQ 表达式用数组外部的字段过滤数组内部

php - Symfony2 : Where/how I can trigger my own annotation-reader?

php - 我的代码中哪种语法是正确的?

php - 使用正则表达式从列表中排除名称

php - 间接修改重载属性 App\Dossier::$program 没有效果

php - 简单的 JSON 解析