我有一个选择,并且限制在525个结果之内,否则会卡住。
$query_other = "SELECT * FROM prod where active=1 and aprobat=1";
$other = mysql_query($query_other, $conn) or die(mysql_error());
while($row = mysql_fetch_assoc($other)){
$other_prod[]=$row;
}
在cpanel中,它显示了525多个,并且当我在$ other上执行var_dump时,它说的是resource(525)类型(mysql结果)。如果有帮助,它可以在Apache服务器上使用。
如果我输入LIMIT 525,则可以正常显示所有页面,否则仅显示空白页面。片刻之后的所有内容均不起作用。
附言:我知道我不喜欢mysql_,但我对它不满意,但我对此无能为力。
最佳答案
增加内存将无济于事。这只是一个临时解决方案。另外,您需要考虑多个客户端同时执行相同的查询。系统将如何跟上内存消耗。
但是要对需要回退的fields保持选择性。
别:
SELECT *
做:
SELECT `field1`, `field2`, ...
这将减少内存消耗,并使您处理事务。我想您不需要所有行。而且您尤其要避免使用
TEXT
/ BLOB
,因为它们通常很大。仅在需要显示/使用它们时才选择它们。您还可以使用:
LIMIT 0, 100
翻阅结果。可能会对您有所帮助,但我会选择正确的字段来永久修复此问题。
还设置:
ini_set('display_errors', true);
error_reporting(-1);
看看PHP是否能告诉您更多有关出问题的信息。
关于php - mysql_query选择限制为525个结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22029041/