라이브러리

[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에 연결하여 데이터를 조회, 삽입, 수정, 삭제하는 방법을 이해할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 131 페이지

검색

게시물 검색