如何在sqlsrv_fetch_array循环中更新相同的SqlServer记录


How can I update the same SqlServer record inside a sqlsrv_fetch_array loop?

这是生产代码,所以我没有检查错误的选项
SqlProfile跟踪显示更新尝试了7次。

$query = "Select pkey, field1 from Table1 with (NOLOCK) where etc ....;";
$unitsrs  = sqlsrv_query($conn,$query) or die('sqlsrv error: ' . print_r( sqlsrv_errors()) );
while($unitsrow = sqlsrv_fetch_array($unitsrs)) {
    $pkey = $unitsrow['pkey'];
    $field1   = $unitsrow['field1'];
    $newvalue = 0;
    ...
    $update = "Update Table1 Set Field1 = $newvalue where pkey = '$pkey';";
    sqlsrv_query($conn, $update);
}

从更新查询中删除分号

   $update = "Update Table1 Set Field1 = $newvalue where pkey = '$pkey'";