PHP - 执行循环后继续执行另一个循环

时间:2013-05-23 15:46:36

标签: php timeout connection-timeout

我的数据库中有一千个电子邮件地址。我想给他们发一条消息。但每次我发送它都显示错误“500内部服务器错误。请求超时。此请求需要很长时间才能处理,它会被服务器超时。如果它不应该超时,请联系此网站的管理员以增加'连接超时”。

我已将maximum_execution_time,set_time_limit或其他类似设置为0(或无限制)。它最终会请求Timeout。有什么解决方案吗?

我的代码

<?php
$query = mysql_query("SELECT * FROM user");
while($q=mysql_fetch_array($query)){
  // Send email to $q['user_email']
  echo "sent to ".$q['user_email'];
}
?>

成功执行没有超时的循环后,我可以执行另一个循环吗?

也许是这样的?

<?php
$query = mysql_query("SELECT * FROM user LIMIT 0,99");
while($q=mysql_fetch_array($query)){
  // Send email to $q['user_email']
  echo "sent to ".$q['user_email'];
}
//do another looping
$query = mysql_query("SELECT * FROM user LIMIT 100,199");
while($q=mysql_fetch_array($query)){
  // Send email to $q['user_email']
  echo "sent to ".$q['user_email'];
}
?>

1 个答案:

答案 0 :(得分:0)

我认为循环时set_time_out中存在问题。

一种可能的解决方案是在每次迭代之前使用set_time_out(0)。