
sqlsrv_prepare 함수의 첫 번째 인자인 SQL 문은 문자열 형식으로 입력해야 합니다. 예를 들어, "SELECT * FROM users WHERE id = ?"과 같은 쿼리를 실행하고 싶다면, sqlsrv_prepare 함수의 SQL 문 인자에 이 쿼리를 문자열 형식으로 입력하면 됩니다.
?를 대체하는 방법은 sqlsrv_prepare 함수의 두 번째 인자인 parameters 에서 처리해야 합니다. parameters 인자는 배열 형식으로 입력해야 하며, 각 배열 요소는 쿼리에서 ?를 대체할 값을 나타냅니다.
예를 들어, "SELECT * FROM users WHERE id = ?"과 같은 쿼리를 실행하고 싶다면, sqlsrv_prepare 함수를 다음과 같이 호출할 수 있습니다.
#hostingforum.kr
php
$parameters = array(1); // id 값을 대체할 값
$sql = "SELECT * FROM users WHERE id = ?";
$stmt = sqlsrv_prepare($conn, $sql, $parameters);
sqlsrv_prepare 함수의 두 번째 인자인 parameters 에서 ?를 대체하는 방법은 sqlsrv_paraminfo 함수를 사용하여 쿼리에서 ?의 위치를 확인하고, 그 위치에 대체할 값을 배열에 추가하는 방식입니다.
#hostingforum.kr
php
$parameters = array();
$params = sqlsrv_paraminfo($conn, $sql);
foreach ($params as $param) {
if ($param['param_type'] == SQLSRV_PHPTYPE_INT) {
$parameters[] = 1; // id 값을 대체할 값
}
}
$stmt = sqlsrv_prepare($conn, $sql, $parameters);
sqlsrv_prepare 함수의 사용법에 대한 더 많은 정보는 Microsoft 공식 문서에서 확인할 수 있습니다.
2025-07-11 21:56