PHP와 MSSQL의 연동 코드 실례 정보
PHP PHP와 MSSQL의 연동 코드 실례본문
<?php
/**
* XAMPP 3.2.2 가 설치된것을 가정하고...
* PHP와 MS SQL Server를 연동하기 위해서는 다음과 같이 하여야 한다.
*
* 1. MS SQL Server, MS SQL Server Management Studio를 설치하고 필요한 설정을 해준다.
* - Management Studio를 이용하여 서버에 기정값을 가지고 로그인한다.
* - 왼쪽리스트현시부의 제일 상위루트에서 마우스오른버튼을 클릭하여 properties에 들어간다.
* - 현시된 server properties 창에서 security항목에 들어간다.
* - server authentication mode에서 SQL server and Windwos Authentication mode를 선택해준다.
* - Ok버튼을 클릭 server properties 창을 닫는다.
* - 왼쪽리스트현시부의 Security/Logins에서 마우스오른쪽버튼를 누르고 New Login...을 선택한다.
* - 새 로그인계정을 창조하는 창이 뜨는데 Login Name을 먼저 입력해주고 SQL Server authentication을 지정해주며 필요한 암호를 설정해준다.
* - 계속하여 왼쪽에 있는 Server Roles라는 항목에 접근하여 새 계정의 roles에 sysadmin을 추가해준다.
*
* - Sql Server Configuration Manager를 기동하고 TCP/IP접근항목을 Enable시켜 remote접근을 허락해주어야 한다.
* - 마지막으로 SQL Server Service를 재기동한다.
* - Navicate같은 자료기지관리도구로 DB접속이 제대로 되는가를 확인한다.
*
* 2. PHP와 MS SQL Server를 련동하기 위한 PHP 플러그인 SQLSRV52.EXE을 설치한다.
* 이때 [XAMPP가 설치된 등록부]/php/ext/안에 플러그인들이 생성되도록 경로를 지정해주어야 한다.
*
* 3. [XAMPP가 설치된 등록부]/php/php.ini파일을 열어서 ; Dynamic Extensions ; 항목을 찾아 필요한 플러그인을 활성화한다.
* PHP7.0판본이라면 해당 플러그인의 파일명은 php_pdo_sqlsrv_7_ts_x86.dll 형식이다.
* 실례: extension=php_pdo_sqlsrv_7_ts_x86.dll
*
* 4. MS SQL Server를 구동하기 위한 ODBC플러그인을 설치한다. msodbcsql.msi
*
* 5. XAMPP서비스를 재기동한다.
*/
/**
* dbo.sql참고!!
* MS SQL Server 에 testdb라는 자료기지와 users라는 테블이 존재한다고 할때
* users테이블은 id, user_id, user_name이라는 3개의 마당으로 이루어졌다고 가정한다.
* id: PK, AI, int
* user_id: unique, varchar
* user_name: varchar
*/
/* Connect to a MS SQL database using driver invocation */
$PDO_SQLSRV_DSN = 'sqlsrv:Server=localhost;Database=testdb'; // 자료기지명 testdb로 지정
$user = 'jjb'; // 자료기지접속자명지정
$password = 'jjb'; // 자료기지접속암호지정
try {
$dbh = new PDO($PDO_SQLSRV_DSN, $user, $password); // MSSQLSERVER에 접속!
/**
* 여러개행 결과값 가져오기
*
*/
$sql = "SELECT * FROM users WHERE id > ?";
$id = 1;
$sth = $dbh->prepare($sql);
$sth->execute(array($id));
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
//print_r($result);
for($i=0; $i<sizeof($result); $i++) {
echo "id: ".$result[$i]['id']." ";
echo "user_id: ".$result[$i]['user_id']." ";
echo "user_name: ".$result[$i]['user_name']." ";
echo "<br>";
}
/**
* 한개행 결과값 가져오기
*
*/
$sql = "SELECT MAX(id) AS max_id FROM users";
$sth = $dbh->prepare($sql);
$sth->execute();
$result = $sth->fetch(PDO::FETCH_ASSOC);
//print_r($result);
$max_id = $result['max_id'];
echo "등록된 id의 최대값: ".$max_id;
/**
* 테이블에 자료넣기
*
*/
$sql = "INSERT INTO users(id, user_id, user_name) VALUES(?,?,?)";
$new_id = $max_id + 1;
$sth = $dbh->prepare($sql);
$sth->execute(array($new_id, 'user'.$new_id, 'name'.$new_id));
/**
* 자료업데이트하기
*
*/
$sql = "UPDATE users SET user_name=? WHERE user_name=?";
$sth = $dbh->prepare($sql);
$sth->execute(array('newUserName'.$new_id, 'name'.$new_id));
/**
* 자료삭제하기
*
*/
$sql = "DELETE users WHERE user_name=?";
$sth = $dbh->prepare($sql);
$sth->execute(array('name'.$new_id));
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
추천
1
1
댓글 1개
신고가 접수된 글입니다.
신고 횟수가 1회 이상이면 글을 확인하지 못합니다.
sir에 불법사이트 만들던 조선족이 등장했다면서요?