0

我得到了一个从数据库中检索值的小 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);

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

4

1 回答 1

0

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

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

您已经从 ASP 编写了此查询,但也尝试在其他 ODBC 环境中执行它。我最喜欢的是带有模块的 ActivePythonodbc或带有 JDBC-ODBC 桥的 Jython。您将在我的问题中找到此类代码的示例:如何使用 ODBC 从 Informix 中的 varchar 列获取尾随空格

也许第一排有什么特别之处?示例:如果第一列是日期时间,我已经看到用于 Linux 的 Informix ODBC 驱动程序返回第一行的空数据。

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

于 2013-01-22T10:50:41.100 回答