SQL DB からデータを取得する PHP 関数があります。odbc_result の実行中にこの致命的なエラーが発生することがあります
- ステップ 30 から 60 | メモリ 191908
- ステップ 31 から 60 | メモリ 191908
- ステップ 32 から 60 | メモリ 191908
- ステップ 33 から 60 | メモリ 191908
- ステップ 34 から 60 | メモリ 191892
- ステップ 35 から 60 | メモリ 191908
- ステップ 36 から 60 | メモリ 191908
- ステップ 37 から 60 | メモリ 191892
- ステップ 38 から 60 | メモリ 191908
- ステップ 39 から 60 | メモリ 191908
- PHP 致命的なエラー: メモリ不足 (割り当てられた 262144) (4294967293 バイトを割り当てようとしました)
これは、関数からの出力の一部です。
誰かがこの問題で私を助けてくれますか?
while(odbc_fetch_row($exec_query_tblKlantFactuurOpdrachten))
{
$dataADDRow_1 = $doc->createElement("tblKlantFactuurOpdrachten");
$dataADDRow->appendChild($dataADDRow_1);
$i_1 = 1;
while($i_1 < $numFields_1)
{
echo "Step ".$i_1." from ".$numFields_1." | Memory ".memory_get_usage()."\n";
$dataFromDB = odbc_result($exec_query_tblKlantFactuurOpdrachten,$i_1);
$dataADD = $doc->createElement($tmpArr_FieldName_1[$i_1],protectInfo($dataFromDB));
$dataADDRow_1->appendChild($dataADD);
flush();
++$i_1;
}
flush();
}
簡単なクエリでDBからデータを取得しようとしましたが、まったく同じフィールドを取得しようとすると、そのエラーも発生します。それは、DB と PHP の関係に関係しているようです。Linuxサーバーでfreetdsドライバーを使用しています。
SQL Server Management でデータを取得すると、問題はありません。