PDO存储过程返回值

6 php sql-server pdo stored-procedures

我正在使用返回错误代码的SQL Server存储过程; 这是SP的一个非常简单的片段.

DECLARE @ret int
BEGIN
SET @ret = 1
RETURN @ret
END
Run Code Online (Sandbox Code Playgroud)

我可以使用以下命令获取mssql扩展的返回值:

mssql_bind($proc, "RETVAL", &$return, SQLINT2);
Run Code Online (Sandbox Code Playgroud)

但是,我无法弄清楚如何在PDO中访问返回值; 我不想使用OUT参数,因为已经编写了很多这些存储过程.这是我当前如何在PHP中调用该过程的示例.

$stmt = $this->db->prepare("EXECUTE usp_myproc ?, ?");
$stmt->bindParam(1, 'mystr', PDO::PARAM_STR);
$stmt->bindParam(2, 'mystr2', PDO::PARAM_STR);
$rs = $stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)

waq*_*med 0

不能用SELECT返回结果吗?然后你可以使用数据集(php中的结果集?)来获取它?我不知道 PHP,但在 C# 中它非常简单 - 使用数据集。