php-while循环上允许的内存
我有一个while循环:php-while循环上允许的内存,php,while-loop,Php,While Loop,我有一个while循环: // Upgraded Checking if($ir['upgraded'] < time()) $upgsql = " AND `aUpgraded`='0'"; else $upgsql = " AND ((`aUpgraded` = 1 AND `aUpgradedType` = '{$ir['upgname']}' AND `aUpgradedType` != '') OR (`aUpgraded` = 1 AND `aUpgradedType` =
// Upgraded Checking
if($ir['upgraded'] < time()) $upgsql = " AND `aUpgraded`='0'";
else $upgsql = " AND ((`aUpgraded` = 1 AND `aUpgradedType` = '{$ir['upgname']}' AND `aUpgradedType` != '') OR (`aUpgraded` = 1 AND `aUpgradedType` = '') OR `aUpgraded` = 0)";
$ess=mysql_query("SELECT * FROM ads WHERE aClicksLeft3>0 AND aPaused='0' AND aApproved>0 ".$upgsql."");
while($extendedData == mysql_fetch_assoc($ess)){
$contents.="hey!!!";
};//End While
//升级检查
如果($ir['upgraded']
无论何时运行,都会出现以下错误:
已耗尽134217728字节的允许内存大小
我不知道为什么这个while循环要使用这么多内存来执行。这只是一个简单的循环
有人知道为什么会这样吗?我的脚本中还有很多其他while循环,我以前从未遇到过这个错误。请注意
留心
当您将
$extendedData
与mysql获取的结果进行比较而不是分配它时,您将得到一个无限循环。循环不断地向$contents
变量添加数据,在无限循环中的某个点上,它会耗尽内存
试一试
并考虑使用mysqli函数,而不是已折旧的mysql函数。当您将
$extendedData
与mysql获取的结果进行比较时,而不是分配它,您将得到一个无限循环。循环不断地向$contents
变量添加数据,在无限循环中的某个点上,它会耗尽内存
试一试
并考虑使用mysqli函数,而不是折旧后的mysql函数。您每次迭代都会扩展$contents的值,因此内存使用量在增加。您每次迭代都会扩展$contents的值,因此内存使用量在增加
ini_set('memory_limit', '-1');
while($extendedData = mysql_fetch_assoc($ess))//should be single equal to sign here
{
$contents.="hey!!!";
}
while( ($extendedData = mysql_fetch_assoc($ess)) ){
$contents.="hey!!!";
};//End While