라이브러리
[PHP] sqlsrv_query - 쿼리를 준비하고 실행합니다.
SQLSRV_QUERY 함수란?
PHP의 `sqlsrv_query` 함수는 Microsoft SQL Server에 대한 연결을 통해 SQL 명령문을 실행하고 결과를 반환하는 함수입니다. 이 함수는 `sqlsrv_connect` 함수를 통해 연결을 설정한 후에 사용할 수 있습니다.
함수 구조
`sqlsrv_query` 함수의 구조는 다음과 같습니다.
#hostingforum.kr
php
bool sqlsrv_query ( resource $conn, string $query [, array $params [, array &$params_metadata [, int $scrollable [, int $keyed ]]]] )
* `$conn`: SQL Server에 대한 연결 리소스
* `$query`: 실행할 SQL 명령문
* `$params`: 파라미터 배열 (선택)
* `$params_metadata`: 파라미터 메타데이터 배열 (선택)
* `$scrollable`: 결과셋의 스크롤 가능 여부 (선택)
* `$keyed`: 결과셋의 키드 여부 (선택)
예제
다음 예제는 `sqlsrv_query` 함수를 사용하여 SQL Server에 연결하여 데이터를 조회하는 방법을 보여줍니다.
#hostingforum.kr
php
// SQL Server에 연결
$conn = sqlsrv_connect('localhost', array(
'Database' => 'mydb',
'UID' => 'myuser',
'PWD' => 'mypassword'
));
if (!$conn) {
die(print_r(sqlsrv_errors(), true));
}
// SQL 명령문
$query = "SELECT * FROM mytable";
// 결과셋을 조회
$result = sqlsrv_query($conn, $query);
if (!$result) {
die(print_r(sqlsrv_errors(), true));
}
// 결과셋을 출력
while ($row = sqlsrv_fetch_array($result)) {
echo $row['id'] . ' ' . $row['name'] . "
";
}
// 결과셋을 닫고 연결을 종료
sqlsrv_free_stmt($result);
sqlsrv_close($conn);
파라미터 사용
`sqlsrv_query` 함수는 파라미터를 사용할 수 있습니다. 다음 예제는 파라미터를 사용하여 SQL Server에 연결하여 데이터를 삽입하는 방법을 보여줍니다.
#hostingforum.kr
php
// SQL Server에 연결
$conn = sqlsrv_connect('localhost', array(
'Database' => 'mydb',
'UID' => 'myuser',
'PWD' => 'mypassword'
));
if (!$conn) {
die(print_r(sqlsrv_errors(), true));
}
// 파라미터 배열
$params = array(
array('name' => 'id', 'value' => 1, 'type' => SQLSRV_PARAM_INT),
array('name' => 'name', 'value' => 'John', 'type' => SQLSRV_PARAM_STR)
);
// SQL 명령문
$query = "INSERT INTO mytable (id, name) VALUES (?, ?)";
// 결과셋을 삽입
$result = sqlsrv_query($conn, $query, $params);
if (!$result) {
die(print_r(sqlsrv_errors(), true));
}
// 결과셋을 닫고 연결을 종료
sqlsrv_free_stmt($result);
sqlsrv_close($conn);
결과셋의 스크롤 가능 여부
`sqlsrv_query` 함수는 결과셋의 스크롤 가능 여부를 지정할 수 있습니다. 다음 예제는 스크롤 가능 여부를 지정하여 SQL Server에 연결하여 데이터를 조회하는 방법을 보여줍니다.
#hostingforum.kr
php
// SQL Server에 연결
$conn = sqlsrv_connect('localhost', array(
'Database' => 'mydb',
'UID' => 'myuser',
'PWD' => 'mypassword'
));
if (!$conn) {
die(print_r(sqlsrv_errors(), true));
}
// SQL 명령문
$query = "SELECT * FROM mytable";
// 결과셋을 조회 (스크롤 가능)
$result = sqlsrv_query($conn, $query, array('scrollable' => SQLSRV_CURSOR_SCROLLABLE));
if (!$result) {
die(print_r(sqlsrv_errors(), true));
}
// 결과셋을 출력
while ($row = sqlsrv_fetch_array($result)) {
echo $row['id'] . ' ' . $row['name'] . "
";
}
// 결과셋을 닫고 연결을 종료
sqlsrv_free_stmt($result);
sqlsrv_close($conn);
결과셋의 키드 여부
`sqlsrv_query` 함수는 결과셋의 키드 여부를 지정할 수 있습니다. 다음 예제는 키드 여부를 지정하여 SQL Server에 연결하여 데이터를 조회하는 방법을 보여줍니다.
#hostingforum.kr
php
// SQL Server에 연결
$conn = sqlsrv_connect('localhost', array(
'Database' => 'mydb',
'UID' => 'myuser',
'PWD' => 'mypassword'
));
if (!$conn) {
die(print_r(sqlsrv_errors(), true));
}
// SQL 명령문
$query = "SELECT * FROM mytable";
// 결과셋을 조회 (키드)
$result = sqlsrv_query($conn, $query, array('keyed' => SQLSRV_KEYED));
if (!$result) {
die(print_r(sqlsrv_errors(), true));
}
// 결과셋을 출력
while ($row = sqlsrv_fetch_array($result)) {
echo $row['id'] . ' ' . $row['name'] . "
";
}
// 결과셋을 닫고 연결을 종료
sqlsrv_free_stmt($result);
sqlsrv_close($conn);
이러한 예제를 통해 `sqlsrv_query` 함수를 사용하여 SQL Server에 연결하여 데이터를 조회, 삽입, 수정, 삭제하는 방법을 이해할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.