在SQL Server中,可能会出现raiserror()错误。我想使用一个严重性,它不会中断连接。此错误在存储过程中引发。在SQL Management Studio中,一切正常,并且在执行此SP时收到错误代码。但是,当尝试在PHP5中通过MDB2执行此SP时,这不起作用。我得到的只是一个空数组。
MDB2对象是通过(包括所需的选项)创建的:
$db =& MDB2::connect($dsn);
$db->setFetchMode(MDB2_FETCHMODE_ASSOC);
$db->setOption('portability',MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_EMPTY_TO_NULL);下面的代码行得通(我得到了一个PEAR错误):
$db->query("RAISERROR('test',11,0);");但是,当调用存储过程时,通过
$db->query("EXEC sp_raise_error");没有输出。怎么了?
发布于 2010-10-12 16:46:05
通过验证返回的结果对象
$res = $db->query(..)
if (MDB2::isError($res)) {
echo $res->getMessage() . "\n" . $res->getUserInfo();
die();
}请参阅http://pear.php.net/manual/en/package.database.mdb2.intro-fetch.php
https://stackoverflow.com/questions/2764263
复制相似问题