Php 如果结果较大,则结果不显示

Php 如果结果较大,则结果不显示,php,mysql,laravel,Php,Mysql,Laravel,这让我头疼。这已经是4个小时了,我只是绕着它转了一圈:(。我的问题是,当我从mysql获取大型结果到php时,它没有显示任何内容。总结果大约是20000多个数据。因此,我所做的是将结果限制在1000个,它确实按照预期显示了结果 是否有一些配置需要设置或更改 下面是我的示例查询 不起作用(当结果超过10000时) 从'tbl_item'中选择*,其中'pricelist_id`=1和'published`='unpublished','type`='item','parent_id`=0和'tbl

这让我头疼。这已经是4个小时了,我只是绕着它转了一圈:(。我的问题是,当我从mysql获取大型结果到php时,它没有显示任何内容。总结果大约是20000多个数据。因此,我所做的是将结果限制在1000个,它确实按照预期显示了结果

是否有一些配置需要设置或更改

下面是我的示例查询

不起作用(当结果超过10000时)

从'tbl_item'中选择*,其中'pricelist_id`=1和'published`='unpublished','type`='item','parent_id`=0和'tbl_item`.`status`'inactive'订单由'order'asc limit 10000
工作(只需将结果限制为1000)

从'tbl_item'中选择*,其中'pricelist_id`=1和'published`='unpublished','type`='item','parent_id`=0和'tbl_item`.`status`'inactive'订单由'order`asc limit 1000
奇怪,帮帮任何人


关于,

可能结果集占用了太多内存。这将导致致命错误,您是否激活了错误报告

ini_set('display_errors', 1);
error_reporting(-1);
通过将以下内容添加到脚本中,可以设置更高的内存限制:

ini_set('memory_limit', '2048M'); // would be really high, but good enough to investigate on the problem

然后,您可以使用
内存\u get\u peak\u usage()
来显示…嗯,内存消耗的峰值

可能结果集占用了太多内存。这将导致致命错误,您是否激活了错误报告

ini_set('display_errors', 1);
error_reporting(-1);
通过将以下内容添加到脚本中,可以设置更高的内存限制:

ini_set('memory_limit', '2048M'); // would be really high, but good enough to investigate on the problem

然后,您可以使用
内存\u get\u peak\u usage()
来显示内存消耗的峰值。

您需要在php.ini中更改以下值

  • 最大执行时间
  • 内存限制
  • 例如:

     in php.ini
     max_execution_time = 3000 // seconds
     memory_limit = 512M
    
    您可以在运行时使用ini_set()函数更改此值,如下所示

     ini_set("max_execution_time", "3000"); // seconds
     ini_set("memory_limit","512M");
    

    您可以根据需要更改秒数。

    您需要在php.ini中更改以下值

  • 最大执行时间
  • 内存限制
  • 例如:

     in php.ini
     max_execution_time = 3000 // seconds
     memory_limit = 512M
    
    您可以在运行时使用ini_set()函数更改此值,如下所示

     ini_set("max_execution_time", "3000"); // seconds
     ini_set("memory_limit","512M");
    

    您可以根据需要更改秒数。

    我是使用mssql遇到这个问题的。我的结果集限制为64512。 尝试设置MSSQL.TEXTSIZE或TEXTLIMIT


    如果php仍然忽略它,您也可以尝试配置FREETDS(/etc/FREETDS/FREETDS.conf@ubuntu)

    我使用mssql遇到了这个问题。我的结果集限制为64512。 尝试设置MSSQL.TEXTSIZE或TEXTLIMIT


    如果php仍然忽略它,您也可以尝试配置FREETDS(/etc/FREETDS/FREETDS.conf@ubuntu)

    try
    ini_集('memory_limit','254M');//您的内存限制为字符串ini_集('max_execution_time',0)
    20000对于MySql来说,要处理的数据量非常小,PHP配置或您的代码一定有问题。请向我们展示您的PHP代码,什么是
    memory\u limit
    max\u execution\u time
    已经设置好了?其余的代码在哪里?您已经用PHP和Laravel标记了这个问题,但没有添加任何信息关于这方面的信息。当您使用MySQL shell、phpMyAdmin、Laravel运行相同的查询时,您收到的更快吗?是否检查了数据库索引?请尝试
    ini\u set('memory\u limit','254M');//您的内存限制为string ini\u set('max\u execution\u time',0)
    20000对于MySql来说,要处理的数据量非常小,PHP配置或您的代码一定有问题。请向我们展示您的PHP代码,什么是
    memory\u limit
    max\u execution\u time
    已经设置好了?其余的代码在哪里?您已经用PHP和Laravel标记了这个问题,但没有添加任何信息关于这方面的信息。当您使用MySQL shell、phpMyAdmin、Laravel运行相同的查询时,您收到的速度更快吗?您是否检查了数据库索引?这看起来与此问题根本不相关-OP询问了有关MySQL对~20k个元素的结果集的帮助这看起来与此问题根本不相关-OP询问了在~20k个元素的结果集上,MySQL没有帮助请为您的答案添加一些解释-为什么这样可以解决问题?请为您的答案添加一些解释-为什么这样可以解决问题?