php7&;MSSQL PDO:使用输入和输出参数调用存储过程

php7&;MSSQL PDO:使用输入和输出参数调用存储过程,php,sql-server,stored-procedures,pdo,php-7,Php,Sql Server,Stored Procedures,Pdo,Php 7,在PHP5中,我使用如下方式绑定参数: mssql_-bind($stmt,@BIAC_-MEMBER',$inMemberID,SQLVARCHAR)//输入 mssql_-bind($stmt,@BIAC_-RESULT',$outResult,SQLVARCHAR,true)//输出 由于在PHP7中删除了mssql.*,您现在需要使用PDO,因此我更改了与此的连接: $stmt=$conn->prepare(“调用MyStoredProc(?,,,?)” 根据PHP文档,您可以使用$st

在PHP5中,我使用如下方式绑定参数:

mssql_-bind($stmt,@BIAC_-MEMBER',$inMemberID,SQLVARCHAR)//输入
mssql_-bind($stmt,@BIAC_-RESULT',$outResult,SQLVARCHAR,true)//输出

由于在PHP7中删除了
mssql.*
,您现在需要使用PDO,因此我更改了与此的连接:

$stmt=$conn->prepare(“调用MyStoredProc(?,,,?)”

根据PHP文档,您可以使用
$stmt->bindParam()进行绑定

是否可以指定多个输入/输出参数,如果可以,如何指定?

PDO
中,您可以使用
bindParam
。下面是如何使用
bindParam
的完整示例。


祝你好运

您可以在以下文档页面中指定参数:

即使用以下代码:

<?php
$stmt = $dbh->prepare("CALL MyStoredProc(?, ?)");
$stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000);
$value = 'hello';
$stmt->bindParam(2, $value, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000); 

// call the stored procedure
$stmt->execute();

print "procedure returned $return_value\n & $value";
?>

它有一个out参数和一个in/out参数,因此应该可以很容易地适应您的需要。它们的关键只是设置正确的数据类型和长度值(bindParam()中的参数3和4)

数据类型的完整列表:

注意:这是从文档中提取并改编的,但我还没有测试过它,但希望至少它能为您指明正确的方向