从条目

时间:2018-03-23 17:09:31

标签: php sql sql-server while-loop sqlsrv

我正在从Microsoft SQL Server数据库中读取数据,而且我有一行字面上打破了周期",这意味着我必须处理类似160.000行的内容,但是一旦遇到这个特定的行,脚本就会停止执行并退出,就像它已经完成处理行一样:没有抛出异常,没有错误,也没有来自php的警告,也没有来自我的mq db插入行..没有,它只是停止执行并打印一个自定义消息,告诉我它已经消耗了所有行,但这不是真的,因为它只处理50.000个条目。

我检查过这行,并没有奇怪的字符......

这是代码的一部分:

   $tsql= "SELECT * FROM ordini_all ORDER BY id ASC";

$getResults= sqlsrv_query($msconn, $tsql, array(), array( "Scrollable" => 'static' ));

if ($getResults === FALSE){ die(FormatErrors(sqlsrv_errors()));}

else{echo "ok query - Righe " . sqlsrv_num_rows($getResults) . "\n\n\n";}

// Create connection - to local mysql db

$mysql_conn = new mysqli($servername, $username, $password, $dbname);

if ($mysql_conn->connect_error) { die("Connection failed: " . $mysql_conn->connect_error);}

$inizio = date("h:i:sa");

$counter = 0;

$err_counter = 0;

$tot_orders = sqlsrv_num_rows($getResults);

echo "\n Rows " . $tot_orders; //this is the correct number

while($row = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC)) {

    ... do your things to insert rows in another db
}

echo "\nInizio " . $inizio . " Fine " . date("h:i:sa") . " tot errori " . $err_counter . " su inserite " . $counter . " il totale era " . $tot_orders .  "\n";

出于隐私原因,无法添加错误条目,但它与所有其他159.999条目没有什么不同。

关于什么可以阻止执行while循环的任何线索?

0 个答案:

没有答案