PHP에서 MSSQL 에 연동하거나 접속 후 쿼리를 실행하는 과정을 정리해 보겠습니다
MS-SQL 은 IIS 서버와 함께 설치되게 되는데요, 윈도우 운영체제를 기반으로 하고 있기 때문에 대부분 ASP 를 이용하여 코딩을 하게됩니다. 하지만, 원격지 또는 윈도우 상에서 PHP 코드로 접속해야 하는 경우가 있는데요, 이때 PHP코드에서 MS-SQL 서버에 접속하는 방법을 정리해 보겠습니다.
우선 MS-SQL에 접속하기위해 PHP가 사용하는 드라이버는 mssql 과 sqlsrv 두가지입니다
mssql 드라이버가 먼저 사용되었고, 2008년 이후부터는 sqlsrv 드라이버가 제공되고 있는데요, mssql 드라이버는 커뮤니티 기반으로 만들어진 드라이버이고, sqlsrv(SQL Server Dirver for PHP) 는 Microsoft 가 공식적으로 지원하는 드라이버 입니다.
아울러, 최근에 업데이트가 이루어진 PHP7.0 부터는 아에 mssql_connect() 함수를 제공하지 않습니다.
저는, 윈도우기반의 IIS 서버에 extension 으로 PHP 를 설치하고, 기존에 운영중인 ASP 코드와 MS-SQL로 이루어진 환경에 접근해서 MS-SQL 서버에 접속하는 다소 복잡한 환경에서 작업을 하고 있습니다만,
기본적인 sqlsrv 사용법은 동일하기 때문에 아래코드를 참고하시면 기본적인 접속/ 쿼리는 가능합니다.
<?php
$serverName = "서버아이피";
$connectionOptions = array(
"database" => "database_name", // 데이터베이스명
"uid" => "user_name", // 유저 아이디
"pwd" => "user_passwd" // 유저 비번
);
// DB커넥션 연결
$dbconn = sqlsrv_connect($serverName, $connectionOptions);
// 쿼리
$query = "SELECT name, age FROM test";
// 쿼리를 실행하여 statement 를 얻어온다
$stmt = sqlsrv_query($dbconn, $query);
// statement 를 돌면서 필드값을 가져온다
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC))
{
echo $row['name'];
echo $row['age'];
echo "<br>";
}
// 데이터 출력후 statement 를 해제한다
sqlsrv_free_stmt($stmt);
// 데이터베이스 접속을 해제한다
sqlsrv_close($dbconn);
?>
다음번 포스팅에서는 MS-SQL 에서 여러개의 열을 읽어와서 이를 Paging 하는 방법을 포스팅 할까 합니다
MS-SQL 테이블의 캐릭터셋 확인하는 쿼리/ 한글깨짐 처리 (4) | 2019.04.22 |
---|
댓글 영역