質問

Ubuntu 8.04 LTS上のPHP 5.2.4でUnixODBCを使用し、IBM iにあるテーブルからすべての結果を取得し、ローカルMySQLテーブルに複製しようとしています。

コード面では、エラーなしで機能していますが、IBM iに含まれている行よりも多くの行になります。

最終的に25,613行になるはずですが、PHPは25,630行がMySQLデータベースに挿入されていると報告しています:

$counter = 0;
while($row = odbc_fetch_array($result)) {
    //Insert into MySQL using Zend Framework
    $counter++;
}
echo $counter;

MySQLデータベースを見ると、行の一部が実際に複製されています。 odbc_fetch_array() IBM iにアクセスするときの不安定な動作に関するドキュメントが、その解決策を試みると、スクリプトが終了したように見えずに実行されて実行されます。

チェック対象についてのアイデアはありますか

役に立ちましたか?

解決

毎回同じ行が複製されていますか?もしそうなら、これらのレコードについてユニークなものがあり、それらがなぜ複製されるのかを示唆することができますか?

おそらく、別のバインディングを使用して結果を取得します- odbc_fetch_row()など。 odbc_num_rows()は何と言っていますか?

これらおよびその他の手法は、バグを特定するのに役立つ場合があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top