我有一个从SQL DB获取数据的PHP函数。有时我在做odbc_result时会遇到这个致命的错误
这是函数输出的一部分。
有人可以帮我解决这个问题吗?
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获取数据时没有问题。
答案 0 :(得分:1)
它可能与一个无休止的循环或一些递归调用的函数有关,它不断分配数据。
您可以尝试:
ini_set('memory_limit', '-1');
但如果我是对的,你会再次收到错误。如果是这样,那么寻找循环和递归调用。
答案 1 :(得分:0)