ホームページ > バックエンド開発 > PHPチュートリアル > この致命的なエラーが発生する理由とその解決方法は?

この致命的なエラーが発生する理由とその解決方法は?

WBOY
リリース: 2016-06-13 13:39:23
オリジナル
3232 人が閲覧しました

これが、致命的エラー
次のコードを追加するとすぐに、Web ページの読み込みが非常に遅くなり、次のエラー メッセージが表示される理由です: 致命的エラー: E:xampphtdocsbusinesslibfunctions.php の 13 行目で最大実行時間 30 秒を超えました

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$rand_invoice_id=rand(0000,9999);
$current_time=date("Y-m-d H:i:s");
$current_time_start=date("Y-m-d")." "."07:00:00";
$tomorrow_time_start=date("Y-m-d", strtotime('+1 day'))." "."07:00:00";
$yesterday_time_start=date("Y-m-d", strtotime('-1 day'))." "."07:00:00";
$row=1;
do
{
    $query="SELECT * FROM CART WHERE (invoice_id='$rand_invoice_id') AND (order_time BETWEEN '$current_time_start' AND '$tomorrow_time_start')";
                    
    $result=queryMysql($query);
    $rows=mysql_num_rows($result);
    if($rows != 0)
    {
        $rand_invoice_id=rand(0000,9999);
    }

}
while($row!=0);

ログイン後にコピー


ショッピング カートを作成して請求書 ID をランダムに生成したいだけですが、ランダムに生成されたものは繰り返される可能性があるため、最初にランダムに生成しますそれを一定の時間範囲内で検索し、同じものがあれば重複がなくなるまでランダムに生成します。

何が問題なのか全く分かりません、ありがとう!チェックしてみてください

-----解決策---------
$row=1;
do
{
...
$rows=mysql_num_rows($result);
.....
}
while ($row !=0);

無限ループ! $row!=0 条件は常に満たされます
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート