【发布时间】:2013-04-09 18:26:54
【问题描述】:
我有一个 mysql 查询,它从数据库中返回电影列表。 查询如下
$query = "SELECT * FROM `$tableName` WHERE `$columnName` >= '$stDate' and `$columnName` <= '$endDate' and `$columnName` != '0000-00-00' and `$columnName` != '1970-01-01' ORDER BY `$columnName` ASC;";
查询运行良好,因为我使用 phpmyadmin 对其进行了测试
主要问题是它只返回大约 30 条记录。
如果没有。要返回的记录超过 30 条,则 php 文件崩溃并且什么也不返回。
通过我对 google 的研究,我发现 php.ini 中的这些设置需要更改。我进行了以下更改并重新启动了服务器。
max_input_time = 60; to max_input_time = 3600;
max_execution_time = 60; to max_input_time = 3600;
memory_limit = 64M; to memory_limit = 1024M;
但这些改变并不能解决问题。
任何帮助将不胜感激。 谢谢
【问题讨论】:
-
鉴于您已经发布了一个有效的查询而没有其他任何内容,我们应该如何帮助您? INI 设置与您的问题无关。它们已经设置为 60 秒,并且您的脚本在 5 秒 后崩溃。提高限制有什么帮助?
-
除非你在一个性能极差的服务器上,或者处理大型 blob 记录,否则 30 条记录甚至不应该让 php 闪烁。
-
在你的
mysql_query()我假设你正在使用它,添加这个:mysql_query($query) or die(mysql_error());让我们知道这是否打印出来。 -
你设置了max_executio_time=3600吗?或者您的问题中有错字?
-
非常感谢 meagar、Marc B、kylex 和 Aris 的宝贵时间。我刚刚发现了问题。并将答案发布如下。我把它作为我的本地设置 ini_set('memory_limit', '1GB');应该是 ini_set('memory_limit', '1G');对不起,我的错。