0

请查看以下代码并告诉我是否有解决方法。

if ($current_server_is_mysql):
    while ($row = mysql_fetch_assoc($RS)) {
else:
    while( $row = sqlsrv_fetch_array( $RS, SQLSRV_FETCH_ASSOC)){ 
endif:  

根据我正在使用的服务器,我想以正确/原生的方式将我的记录编译到 $RS 记录集中。如果我能通过这部分,其余的应该没问题,因为 mysql 和 mssql $row 都可以以相同的方式被利用。例如,$row['fieldname']无论该行是 mysql 还是 mssql 资源,都会给我字段值。所以这一切都归结为上述片段失败。

我得到的错误指向else:上述代码段中的部分。

Parse error: syntax error, unexpected T_ELSE in D:\Hosting\5291100\html\blueprint\pages\populate_migration_table.php on line 415

我可以理解为什么会收到此错误。

但是,我希望你们可以提供一个解决方法,而无需我复制整个 while 循环 she-bang。

4

1 回答 1

1

你有一些语法不匹配,把你的代码放在这样的函数中对我有用:

if ($current_server_is_mysql):
    while ($row = mysql_fetch_assoc($RS)) {
        ProcessThisRow($row);
    }
else:
    while( $row = sqlsrv_fetch_array( $RS, SQLSRV_FETCH_ASSOC)){
        ProcessThisRow($row);
    }
endif;

function ProcessThisRow ($row) {
    /*Put your code in this function */
    return true;
}
于 2012-05-03T17:12:27.540 回答