我有一个从 SQL DB 获取数据的 PHP 函数。有时我在执行 odbc_result 时遇到这个致命错误
- 从 60 步到第 30 步 | 内存 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和PHP之间的关系有关。我在 linux 服务器上使用 freetds 驱动程序。
当我使用 SQL Server Management 获取数据时,没有问题。