php7&;MSSQL PDO:使用输入和输出参数调用存储过程
在PHP5中,我使用如下方式绑定参数: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
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)
数据类型的完整列表:
注意:这是从文档中提取并改编的,但我还没有测试过它,但希望至少它能为您指明正确的方向