を実行する際にループが消耗メモリエラーで終了する、サイトがでクラッシュ:「268435456バイトのメモリサイズが排気可(254643のバイトを割り当てることを試みた)」PHP行う-ながら、次のコードを実行する一方で、SQLコード
$queID = "LCGQ00" . $ID;
$sqlquecheck = "Select QueryID FROM Questions Where QueryID = '$queID' limit 1;";
$quequery = $this->db->query($sqlquecheck);
if($quequery->num_rows() > 0)
{
do{
$queID = $queID . "-" . $ID;
$quequery = $this->db->query($sqlquecheck);
}while($quequery->num_rows() > 0);
}
エラーが犯人として、次のコード行を指している:私は何をしようとしている
$queID = $queID . "-" . $ID;
パッドは、新しいものを作成するために、既存のIDで、目であればすでに存在していて、何度も何度も繰り返しています。
結果が既にある場合は、パッド関数がクエリを再送信し、まだ結果を返すかどうかを再度確認します。
ご協力いただければ幸いです!
編集はFIXED:
if($quequery->num_rows() > 0)
{
do{
$queID = $queID . "-" . $ID;
$sqlquecheck2 = "Select QueryID FROM Questions Where QueryID = '$queID' limit 1;";
$quequery2 = $this->db->query($sqlquecheck2);
}while($quequery2->num_rows() > 0);
}
はまた* FETCH_および他の方法は、私はこの方法を使用する理由である、異なるアプローチをしようとしたときに働いていませんでした。これは完璧である必要はありませんでした.dbエラーを排除するだけでした。再度、感謝します。
は(ない' $ quequery-> NUM_ROWSをしてみてください –
また、ここで変数を再利用することはおそらく最良の考えではありません –
私は再実行したときにそれを前提としていました $ quequery = $ this-> db-> query($ sqlquecheck); 新しいIDの結果がない場合は、0が返されますか? –