最大実行時間:\ wamp64 \ WWW ....Cに超えた120秒の最大実行時間: wamp64 WWW Cに超えて120秒の
私は私のループがないことを願います無限。
Select文の行数は5です。 (あまりないかもしれません)
最大実行時間:\ wamp64 \ WWW ....Cに超えた120秒の最大実行時間: wamp64 WWW Cに超えて120秒の
私は私のループがないことを願います無限。
Select文の行数は5です。 (あまりないかもしれません)
それが無限ループです。
あなたがやっている:
$rowcd = $stmtp->fetch(PDO::FETCH_ASSOC);
をし、それを評価する:
while($rowcd)
それがあるべきとき:代わりに、両方の線の
while($rowcd = $stmtp->fetch(PDO::FETCH_ASSOC))
ありがとう、両方の答えが私に解決策を与えました! –
bindParam()
の使用方法から、私はあなたがクラスに抽象化したPDOを使用していると仮定しています。
あなたは一度だけfetch()
を呼び出して、一行を返してから、それに対してwhile文を使用します。ループ内で更新されることはありません。したがって、常にTRUE
と評価され、ループが継続されます。この理論をテストする
、あなたはブレークポイントまで実行され、アレイ上の単純なループ、実行することができます:私は$Sr
変数がどこから来ている全くわからないんだけど、上のベース
<?php
while(array(1,2,3)){
echo date('H:i:s');
}
を最初のクエリのORDER BY
句は、最初のクエリで返されます。
したがって、をループする必要があり、そうように次の行を毎回フェッチ:
...
while ($row = $stmtp->fetch()) {
$stmtd = $user_home->runQuery('UPDATE invoice
SET State=:uname
WHERE Sr = :crn');
$stmtd->bindParam(':crn',$row['Sr']);
$stmtd->bindParam(':uname',$st);
$stmtd->execute();
}
...
最初のクエリを残して、2番目のクエリから更新しています。\ –
どういう意味ですか? – kchason
ループが開始するときに3つの行があると仮定すると、最初の行をそのまま残して2番目の行からクエリが更新されます。 –
どのように多くの行そのSELECT文はありますか? – LordNeo
@LordNeo Select文には5行あります。 (ときどきそれ以下の場合があります) –