为什么我的脚本缺少记录集的第一条记录?

时间:2013-01-21 21:40:05

标签: php odbc record missing-data

我从一个小的PHP脚本中检索数据库中的值。它有效,但它只是缺少记录集的第一个记录。

以下是代码:

$conn = odbc_connect("database","user","passwd");

if (!$conn) {
   echo $php_errormsg;
   die("Connection failed");
}

$sql = "EXEC dbo.pr_stored_procedure param1, param2";

echo ("sql=". $sql."\n");
$rs=odbc_exec($conn,$sql);


while(odbc_fetch_row($rs)) {
   $item1 = odbc_result($rs,"item1");
   $item2 = odbc_result($rs,"item2"); 
   echo($item1 . " " .  $item2);
}

odbc_close($conn);

我不明白为什么它会跳过第一行,因为这是非常基本的。

1 个答案:

答案 0 :(得分:0)

可能是ODBC驱动程序或您使用的其他库中的错误。

您是否在该环境中执行类似查询或更改params以返回不同数据集时遇到问题?

您已经编写了此查询可以在ASP中运行,但也尝试在其他ODBC环境中执行它。我最喜欢的是带有odbc模块的ActivePython或带有JDBC-ODBC桥的Jython。您可以在我的问题中找到此类代码的示例:How to get trailing spaces from varchar column in Informix using ODBC

也许第一排有什么特别之处?示例:我见过Linux的Informix ODBC驱动程序,如果第一列是datetime,则返回第一行的空数据。

只要您看到此查询在其他ODBC环境中工作,请尝试启用ODBC跟踪并将工作环境中的跟踪与PHP中的跟踪进行比较。