Как вызвать хранимую процедуру SQL Server с 2 параметрами в PDO.
Например, в подсказке SQLServer:
EXEC тест ‘arg1’, ‘arg2’
Каков следующий шаг в PHP с PDO?
Заранее спасибо за ваш ответ.
Чтобы использовать несколько параметров, просто используйте 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));
Я обычно использую вопросительные знаки для параметров в PDO, т.е.
$stmt = $db->prepare("UPDATE table SET name=? WHERE id=?");
$stmt->execute(array($name, $id));
$affected_rows = $stmt->rowCount();
Вы можете прочитать отличное объяснение структуры запросов PDO Вот