PHP PDO中带有命名参数的存储过程

PHP PDO中带有命名参数的存储过程,php,sql-server,stored-procedures,pdo,Php,Sql Server,Stored Procedures,Pdo,我正试图解决这个问题,我的数据库管理员为我提供了这个使用命名参数调用的存储过程,而且由于我使用PHP7与PDO和SQL Server配合使用,因此很难获得正确的语法并成功执行 这是我的数据库管理员为我提供的: exec subscription @customer_key='2AB407313144', @invoice_key='0022BE6C4912' 这是我从一些类似问题中尝试的结果:失败 $sql = 'EXEC subscription :customer_key, :invoi

我正试图解决这个问题,我的数据库管理员为我提供了这个使用命名参数调用的存储过程,而且由于我使用PHP7与PDO和SQL Server配合使用,因此很难获得正确的语法并成功执行

这是我的数据库管理员为我提供的:

exec subscription @customer_key='2AB407313144', @invoice_key='0022BE6C4912'

这是我从一些类似问题中尝试的结果:失败

$sql = 'EXEC subscription :customer_key, :invoice_key';
$stmt = $conn->prepare($sql);

$stmt->bindParam(':customer_key', $_SESSION['customer_key']); 
$stmt->bindParam(':invoice_key', $_SESSION['inv_key']); 

$stmt->execute();

执行订阅@customer\u key=:customer\u key,@invoice\u key=:invoice_key@YourCommonSense尝试过,没有积极的结果。您是否尝试过将语句类型设置为存储过程(与常规查询相反)?@J.Murray抱歉,我是新来的,请您提供一个示例,我不太明白你在说什么?@RohanTapiyawala
$stmt->bindParam(“:customer\u key”,“$”会话['customer\u key')$stmt->bindParam(':invoice\u key',$会话['invoice\u key'])可能有帮助。