如何测试空记录集

时间:2013-01-08 12:56:57

标签: php unixodbc

我使用PHP ODBC库连接到MSSQL 2008服务器(http://php.net/manual/en/ref.uodbc.php)。

我的一些存储过程不返回记录集(例如,它们只是执行插入或更新)。我希望能够在这种情况下优雅地处理输出。在进行数据库调用之后,将输出注入到一个数组中,该数组将返回给应用程序进行处理。以下是代码的关键部分(不包括错误处理等):

$sql_result = odbc_exec($connection, $sql);
while ($row = odbc_fetch_array($sql_result)) {
    $resultArray[$i] = $row;
    $i++;
}

如果$sql_result已成功执行,但不包含记录集(就像插入或更新后那样),则odbc_fetch_array会触发此警告:

  

警告:odbc_fetch_row():此结果索引中没有可用的元组

理想情况下,我想首先测试$sql_result以查看它是否包含空记录集,但我尝试过的每一次明显尝试都会导致相同的警告消息。

任何人都有一个简洁的方法来检查$sql_result是否为空?

1 个答案:

答案 0 :(得分:1)

我认为使用PHP odbc API并不是一种简单的方法。通常,您将使用不同的函数来处理返回SELECT的语句,而不是像UPDATE那样的语句。

如果这是一个运行任意语句的实用程序,则可以解析该语句。

这不是一个空的结果集,它根本没有结果集,您可以通过在调试器中检查结果或使用var_dump来区分它。