如何在PDO中使用2个参数调用SQL Server的存储过程。
例如在SQLServer的提示符中:
EXEC测试'arg1','arg2'
使用PDO的PHP的下一步是什么?
提前感谢您的回复。
答案 0 :(得分:1)
要使用多个参数,只需对每个参数使用bindParam,或者使用命名参数:
$query="EXEC test :arg1, :arg2";
$stmt->bindParam(":arg1",$first_variable);
$stmt->bindParam(":arg2", $second_variable);
$stmt->prepare($query);
$stmt->execute();
另一种方法是直接将参数作为数组传递给execute() - 方法:
$stmt->execute(array(":arg1"=>$first_variable,":arg2"=>$second_variable
您还可以对查询中的所有参数使用问号:
$query="EXEC test ?,?";
...
...
$stmt->bindParam(1, $first_variable);
$stmt->bindParam(2, $second_variable);
或直接在execute()中包含:
$stmt->execute(array($first_variable, $second_variable));
答案 1 :(得分:0)
我通常在PDO,I.E。
中使用问号作为参数$stmt = $db->prepare("UPDATE table SET name=? WHERE id=?");
$stmt->execute(array($name, $id));
$affected_rows = $stmt->rowCount();
您可以阅读有关PDO查询结构的详尽说明here