使用while循环时,浏览器会挂起并崩溃

时间:2015-09-30 04:35:15

标签: php mysql sql

我正在执行两个查询并为每条记录评估以下条件:

  • 如果<html><ol><li>Hello</li><li>welcome</li></ol></html> 等于$production_query->row->0
  • 如果$jobcard_query->row->0等于$production_query->row->1

如果为true,则应显示$jobcard_query->row->1的结果。

但是,使用$production_query语句时,浏览器需要很长时间才能响应并崩溃。

有人可以建议解决方案吗?

我的代码:

while

2 个答案:

答案 0 :(得分:0)

尝试将查询更改为以下内容:

$query = "SELECT sample_jobcard.job_card_num AS JOBCARDNUM, sample_jobcard.die_qty AS DIEQTY, sample_jobcard.id AS JID, com_jobcard.job_card_num, com_jobcard.die_qty, com_jobcard.id FROM sample_jobcard 
    join com_jobcard on sample_jobcard.job_card_num = com_jobcard.job_card_num AND sample_jobcard.die_qty = com_jobcard.die_qty ORDER BY sample_jobcard.id DESC";

$jobcard_query = mysql_query($query);

if($jobcard_query && mysql_num_rows($jobcard_query) > 0)
{
    while ($row = mysql_fetch_array($jobcard_query)) 
    {
        echo $row['JOBCARDNUM']." ".$row['DIEQTY']." ".$row['JID']."<br>";
    }
}

答案 1 :(得分:0)

替换while

while (($row1[0] == $row[0]) && ($row1[1] == $row[1]))
{
    echo $row[0] . $row[1]. $row[2]'<br>';
}

使用if

if ($row1[0] == $row[0] && $row1[1] == $row[1])
{
    echo $row[0] . $row[1]. $row[2] . '<br>';
}

如果你的条件评估为true,你基本上写了:

while(true) {
    // run forever
}

这将永远运行(好,直到最长执行时间)。

您最终会反复打印同一行,生成一个浏览器难以处理的大型文档,从而导致崩溃。