Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 到iSeries的ODBC连接提供奇数个结果_Php_Mysql_Odbc_Ibm Midrange_Unixodbc - Fatal编程技术网

Php 到iSeries的ODBC连接提供奇数个结果

Php 到iSeries的ODBC连接提供奇数个结果,php,mysql,odbc,ibm-midrange,unixodbc,Php,Mysql,Odbc,Ibm Midrange,Unixodbc,我在Ubuntu8.04LTS上使用UnixODBC和PHP5.2.4,试图从IBMi上的一个表中提取所有结果,并将它们复制到本地MySQL表中 代码方面,它工作时没有错误,但我最终得到的行数比ibmi上包含的行数多 我应该以25613行结束,但PHP报告说25630行正在插入MySQL数据库: $counter = 0; while($row = odbc_fetch_array($result)) { //Insert into MySQL using Zend Framework

我在Ubuntu8.04LTS上使用UnixODBC和PHP5.2.4,试图从IBMi上的一个表中提取所有结果,并将它们复制到本地MySQL表中

代码方面,它工作时没有错误,但我最终得到的行数比ibmi上包含的行数多

我应该以25613行结束,但PHP报告说25630行正在插入MySQL数据库:

$counter = 0;
while($row = odbc_fetch_array($result)) {
    //Insert into MySQL using Zend Framework
    $counter++;
}
echo $counter;
当我查看MySQL数据库时,有些行实际上是重复的。我在文档中看到了一条关于访问IBMi时的不稳定行为的注释,但是尝试该解决方案会导致脚本不断地运行,而且似乎从未完成


关于检查什么有什么想法吗?

每次复制的行是否相同?如果是这样的话,这些记录是否有什么独特之处可以暗示它们为什么会被复制

也许可以使用另一个绑定来获取结果,比如
odbc\u fetch\u row()
odbc\u num\u rows()


这些技术和其他技术可能会帮助您了解这个错误。

odbc_num_rows()返回“-1”,使用计数器执行odbc_fetch_row()返回25630。虽然我不确定odbc_num_rows()为什么工作不正常,但我发现MySQL表没有被截断并导致重复的行。切换到odbc_fetc_row()后,现在一切似乎都在正确同步。