我有下面的示例代码,它返回两个结果集,其中一个总是为空,而如果它在查询浏览器中单独运行,则只产生一个结果集。我使用SQL-SERVER作为DB。
后来我发现具有SET语句的sql查询总是给出第一个空结果集,否则它给出一个结果集。
<?php
$sql = "DECLARE @a nvarchar(100);
SET @a = 1;
SELECT TOP 1 * from employee where id = @a;
";
$db = Zend_Registry::get('dbAdapter'); //Object of Zend_Db_Adapter
$statement = $db->query($sql);
// Loop through each resultsets
do
$rows = $statement->fetchAll();
print_r($rows);
} while ($statement->nextRowset());
?>
任何人都可以帮助我,这样我只会得到一个结果集而不管我是否使用过SET语句? 如果我写了多个SELECT语句,我也想要多个结果集。
如果在使用SET的情况下我们无法阻止空结果集,那么最佳解决方案是什么呢?