我将数据库从 mysql 移动到 ms sql server,现在我需要迁移 PHP 代码。我正在使用 PHP 7.0.33。
我的问题是 mysql 代码处理单行数据,因此在将数据提取到资源中之后,在循环内部,每一行都通过返回$r->data_seek($i)
,然后通过一系列过程进行处理。
对于我新的 ms sql server 代码,我需要使用 functions sqlsrv_fetch_array
,sqlsrv_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 新手,我的背景是甲骨文世界,因此如果我的问题可能被视为愚蠢或幼稚,我提前道歉。
提前谢谢了。