프로젝트

[프로젝트] PHP와 MySQL 연동하기, MySQL 사용자 추가, 권한부여

sungw00 2022. 6. 3. 00:36
728x90

PHP와 MySQL 연동하기

PHP는 버전에 따라 연동할 때 쓰이는 명령어가 다르다. 예를 들어 7.x 버전과 8.x 버전의 명령어가 다르다.

내가 이 글에서 포스팅 한 PHP의 버전은 7.2.9이다. 8.x 버전은 따로 명령어를 첨부해 두었으니 그 코드로 작성하면 될 것이다.

 

우선 연동을 위해서 Apache, MySQL, PHP를 먼저 설치해주어야 한다.

위 프로그램의 설치를 간단하게 도와주는 XAMPP를 아래 주소에 접속해서 운영체제에 맞는 것으로 다운로드 한다.

https://www.apachefriends.org/download.html

 

Download XAMPP

Includes: Apache 2.4.53, MariaDB 10.4.21, PHP 7.4.29 + SQLite 2.8.17/3.38.5 + multibyte (mbstring) support, Perl 5.34.1, ProFTPD 1.3.6, phpMyAdmin 5.2.0, OpenSSL 1.1.1o, GD 2.2.5, Freetype2 2.4.8, libpng 1.6.37, gdbm 1.8.3, zlib 1.2.11, expat 2.0.1, Sablot

www.apachefriends.org

위 주소에서 다운로드 후 설치 과정을 거치면 설치가 간단하게 완료된다. (설치 과정을 생략)

 

설치가 완료되었다면 아래 과정을 통해 PHP와 MySQL을 연동해보자.

 

1. 윈도우 검색창에 xampp를 검색해서 'XAMPP Control Panel'을 실행한다.

 

2. 그럼 가장 처음에 위와 같은 패널이 나타나게 되는데, 좌측 빨간 네모칸에 있는 Apache와 MySQL을 'Start' 버튼을 눌러 실행한다.

 

3. 스타트가 완료되면 위와 같은 상태로 변하게 된다.

 

4. 다음은 탐색기를 열어서 위 사진에 있는 경로(C:\xampp\htdocs)로 이동한다.

 

5. 이동한 위치에 텍스트 파일을 생성할 것이다.

'마우스 우클릭 -> 새로 만들기 -> 텍스트 문서'를 클릭한다.

 

6. 위 코드와 같이 입력(MySQL접속이 정상적으로 되는 지 확인하는 코드)해주고 test.php라는 이름으로 저장해준다.

위 코드에서 외부 접속을 하기 위해선 'localhost' 부분을 호스트의 IP 주소로 변경해주고, 'testUser' 부분을 호스트 서버의 유저계정이름, '1234' 부분을 해당하는 유저의 패스워드로 설정해주면 외부에서 MySQL 서버의 연결을 테스트할 수 있다.

 

7. 위에서 입력했던 'testUser' 계정을 생성하고 모든 권한을 부여하는 SQL 쿼리문이다.

1234 부분에 개별로 설정한 패스워드를 입력해주면 된다.

 

8. 마지막으로 인터넷 주소창에 위와 같이 입력해서 phpinfo 페이지가 출력된다면, 정상적으로 MySQL과 PHP의 연동이 되는 것이다.

 

이제 phpinfo 페이지가 아닌 내가 작성한 PHP 코드가 정상적으로 출력되는지 확인하기 위해 테스트 파일을 하나 더 만들어 접속해보자.

 

9. 먼저 위와 같이 이전과 동일한 경로에 test2.php 파일을 생성한다.

 

10. 나와 PHP 버전이 동일한 7.x 버전이라면 위와 같이 작성 후 저장해준다.

만일 PHP 버전이 8.x라면 아래 소스코드를 참고하여 작성해주면 동일하게 연결될 것이다.

// php 8.x 버전 이상일 때
<?php
    $user = "username"; // 계정 이름 입력
    $pass = "password"; // 패스워드 입력
    $host = "localhost"; // localhost or IP주소 입력
    $db = "database"; // 연동하고자 하는 DB명 입력(비워도 됨)
    
$conn = new mysqli($host, $user, $pass, $db);
   if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
?>

 

11. 주소창에 /test2.php를 입력하여 접속하면 연결이 성공적으로 완료되어 작성한 PHP 코드가 정상적으로 출력되는 것을 확인할 수 있다.

728x90