2014-10-17 3 views
1

PDO에서 매개 변수 2 개를 사용하여 SQL Server의 저장 프로 시저를 호출하는 방법. 저장 프로 시저 용 PDO가있는 매개 변수

의 SQLServer의 프롬프트에서 예를 들면 :

EXEC 테스트 'ARG1', 'ARG2'

PDO와 PHP의 다음 단계는 무엇입니까?

미리 답변 해 주셔서 감사합니다.

+0

'EXEC 테스트,' –

답변

0

일반적으로 PDO, I.E.에서 매개 변수에 물음표가 사용됩니다.

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

당신은 단지 하나 명명 된 매개 변수와 각 매개 변수에 대한 bindParam을 사용 here

1

이 muliple 매개 변수를 사용하려면 PDO 쿼리 구조의 큰 설명을 읽을 수 있습니다

$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); 

또는 직접 :

$stmt->execute(array($first_variable, $second_variable)); 
+0

난 이미에서 시도 저장 프로 시저가 있으며 SQL Server에서 작동합니다. SQLServer에서 결과가 하나 있지만 PHP에서는 결과가 없습니다. 이유를 알고 계십니까? – Xiaolong

+0

나는 그것을 시험해 보았다. 그리고 그것은 잘 동작했다. 확실 : PHP에서 프로 시저를 어떻게 호출 했습니까? 코드를 게시 할 수 있습니까? – Tobias

관련 문제