‘;$stmt->nextRowset();// 获取两个输出类型的参数echo $nReturnValue.’

‘;//获取第二个结果集.$stmt->nextRowset();$rowset_2 =
$stmt->fetch;echo ‘

‘; echo $strReturnValue; } catch {echo $e->getMessage();}复制代码
代码如下:/***用于测试PDO调用MsSQLServer2012存储过程获取复合结果集Demo*Code
CreateBy abandonship 2012.10.11**/CREATE PROCEDURE
[dbo].[P_Test_GetMixData](@Message_1 tinyint output,@Messgae_2
varchar output,@SearchValue varchar Asset nocount onset @Message_1 =
123set @Messgae_2 = ‘Hi,there!This is abandonship!’select * from _T1
where col1 like ‘%’+@SearchValue+’%’select * from _T2 where col1 like
‘%’+@SearchValue+’%’set nocount
off:当bindParam中存在需要输出类型的参数时,必须包含长度:$length: An
optional length of the data type. You can specify
PDO::SQLSRV_PARAM_OUT_DEFAULT_SIZE to indicate the default size when
using PDO::PARAM_INT or PDO::PARAM_BOOL in $data_type.

复制代码 代码如下:$dbh = new
PDO(‘sqlsrv:server=连接地址;Database=数据库名’, 用户名, 密码);try
{$procName = “P_Test_GetMixData”;$stmt = $dbh->prepare(“EXEC
$procName ?, ?, ?”);$nReturnValue = 0;$strReturnValue =
“”;$strSearchValue = “abandonship”;$stmt->bindParam(1, $nReturnValue,
PDO::PARAM_INT | PDO::PARAM_INPUT_OUTPUT,
PDO::SQLSRV_PARAM_OUT_DEFAULT_SIZE);$stmt->bindParam(2,
$strReturnValue, PDO::PARAM_STR | PDO::PARAM_INPUT_OUTPUT,
10);$stmt->bindParam(3, $strSearchValue ,
PDO::PARAM_STR);$stmt->execute();//获取第一个结果集.$rowset_1 =
$stmt->fetch;print_r;echo ‘

发表评论

电子邮件地址不会被公开。 必填项已用*标注