2012-05-03 2 views
0

次のコードを見て周りに道があるかどうか教えてください。mysqlとmssqlをwhileループでミックスして一致させる場合

私が使っているサーバーによっては、私のレコードを$ 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 

なぜこのエラーが発生するのか理解できます。

しかし、私は皆さんがループ・シングの間に全体を複製することなくそれを回避することができると期待しています。

答えて

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; 
} 
+0

がおっと...私はちょうどあなたが開いたままにブレースを達成しようとしているものが実現します。 – GDP

+0

VERY CLEVER。あなたは賢い人です! –

+1

いいえ、ちょうど "そこに行って、それをやった"、笑 – GDP

関連する問題