1

Ubuntu 8.04LTSでPHP5.2.4でUnixODBCを使用しており、IBM iにあるテーブルからすべての結果をプルして、ローカルのMySQLテーブルに複製しようとしています。

コード的にはエラーなしで動作していますが、IBMiに含まれている行よりも多くの行が表示されることになります。

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

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

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

何をチェックするかについてのアイデアはありますか?

4

1 に答える 1

0

毎回同じ行が複製されていますか?もしそうなら、それらが複製される理由を示唆する可能性のあるこれらのレコードについて何かユニークなものはありますか?

おそらく、結果を得るために別のバインディングを使用します-のようにodbc_fetch_row()。何てodbc_num_rows()言うの?

これらのテクニックやその他のテクニックは、バグを特定するのに役立つ場合があります。

于 2009-03-11T17:35:46.007 に答える