在php中使用PDO执行带参数的SQL Server存储过程
我似乎很难执行包含参数的ms sql server存储过程,我可以执行简单的select语句或不带参数的存储过程,但只要我尝试绑定参数,我就会收到以下消息:在php中使用PDO执行带参数的SQL Server存储过程,php,sql-server,pdo,Php,Sql Server,Pdo,我似乎很难执行包含参数的ms sql server存储过程,我可以执行简单的select语句或不带参数的存储过程,但只要我尝试绑定参数,我就会收到以下消息: “发生错误:SQLSTATE[HY000]:一般错误:102一般SQL Server错误:检查来自SQL Server的消息[102](严重性15)[(null)]” 来自php的代码是: $pdo = new PDO($dsn, $user, $password); $pdo->setAttribute(PDO::
“发生错误:SQLSTATE[HY000]:一般错误:102一般SQL Server错误:检查来自SQL Server的消息[102](严重性15)[(null)]”
来自php的代码是:
$pdo = new PDO($dsn, $user, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$sql = $pdo->prepare("EXEC [contractor].[sync_licence] (?)");
$params = 5;
$sql->bindParam(1, $params, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);
$sql->execute();
$results = $sql->fetchAll();
var_dump($results);
} catch (PDOException $e) {
echo 'An error occured: ' . $e->getMessage();
}
有谁能帮我解决我的问题吗?对于任何感兴趣的人,我发现了上述陈述的问题。返回的错误消息基本上指向t-sql语句的语法问题,在本例中,问题是围绕?的()问题,因此通过删除()过程现在可以工作,希望这能帮助任何有同样问题的人你检查过你准备好的陈述了吗…你是说检查了准备好的陈述Christopher?如果这是显而易见的,我很抱歉,但我对pdo有点陌生。谢谢