1

我将数据库从 mysql 移动到 ms sql server,现在我需要迁移 PHP 代码。我正在使用 PHP 7.0.33。

我的问题是 mysql 代码处理单行数据,因此在将数据提取到资源中之后,在循环内部,每一行都通过返回$r->data_seek($i),然后通过一系列过程进行处理。

对于我新的 ms sql server 代码,我需要使用 functions sqlsrv_fetch_arraysqlsrv_fetch_object等,并且似乎没有行的概念。

例如,我用这个替换了原始代码,它可以工作:

$r = sqlsrv_query($db_conn, $sql, array(), array( "Scrollable" => 'static' ));    
$col_max = sqlsrv_num_fields($res);
while (sqlsrv_fetch($res)) {
         for($i = 0; $i < $col_max; $i++) { 
             $$key = sqlsrv_get_field($res, $i);
         }                
     }

但是像这样一点一点地改变整个程序是非常痛苦的。如何更改原始代码(基于 mysql),以便我可以重用现有的逐行传递功能?

我最近的问题是如何用 ms sql server 替换这个 mysql 代码:

$r = result
$i = row number to return
function fetch_sql_mysqli_row ($r, $i, $db_conn = null)
{
  if ($i >= $r->num_rows)
  {
    $r->close();
    return 0;
  }
  $r->data_seek($i);
  return $r->fetch_row();
}

我是 PHP 新手,我的背景是甲骨文世界,因此如果我的问题可能被视为愚蠢或幼稚,我提前道歉。

提前谢谢了。

4

0 回答 0