Параметры с PDO для хранимой процедуры

Как вызвать хранимую процедуру SQL Server с 2 параметрами в PDO.

Например, в подсказке SQLServer:

EXEC тест ‘arg1’, ‘arg2’

Каков следующий шаг в PHP с PDO?

Заранее спасибо за ваш ответ.

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

Другие решения

Я обычно использую вопросительные знаки для параметров в PDO, т.е.

$stmt = $db->prepare("UPDATE table SET name=? WHERE id=?");
$stmt->execute(array($name, $id));
$affected_rows = $stmt->rowCount();

Вы можете прочитать отличное объяснение структуры запросов PDO Вот

0

По вопросам рекламы [email protected]