MySQL을 웹서버에서 사용할 수 있도록 php 와 연동하여 접속, 데이터베이스 및 테이블 생성 과정을 정리한다.
PHP 환경설정
MAMP 설치하였기 때문에 php 와 MySQL 이 설치시 기본적으로 자동으로 연동된다. 몇가지 설정만 변경해 주면 된다.
php파일을 업데이트 했을때, 새로고침이 되지 않는 현상이 있었다.
1 2 3 |
<?php echo "hello world"; ?> |
에서
1 2 3 |
<?php echo "hello world!!!!"; ?> |
로 변경해도 인터넷창을 완전히 닫고 다시 열때까지 죽어도 느낌표를 출력할 수 없었다..
검색해본 결과, php.ini
파일을 수정해야 한다고 한다
mamp기준 /mampstack-5.6.32-1/php/etc
에 가면
php.ini 파일이 있다. 기존 파일을 백업해준 뒤,
1 |
opcache.enable=0 |
으로 수정한다. (기본값 = 1)
mampstack 을 사용하기 때문에 별도의 MySQL관련 설정은 만질 필요가 없다.
php로 MySQL 접속
웹서버 디렉토리에 connect.php
를 생성하고
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php $servername = "localhost"; $username = "username"; $password = "password"; // 접속 $conn = mysql_connect($servername, $username, $password); // 접속성공 여부 확인 if (!$conn) { die('접속 실패: ' . mysql_error()); } echo "접속 성공"; mysql_close($conn); ?> |
접속 성공 시,
접속 실패 시,
위와같이 mysql_error()
에러 메세지를 출력한다.
데이터베이스 목록 출력
내부 함수 사용
1 2 3 4 5 6 7 8 9 10 11 |
<?php // 내부 함수 사용 $result = mysql_list_dbs($conn); $num = mysql_num_rows($result); echo "데이터베이스 목록 <br />"; for ($i=0; $i < $num; $i++) { echo mysql_db_name($result,$i) . "<br />"; } ?> |
쿼리 사용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php // 쿼리 사용 $query = 'SHOW DATABASES;'; // 데이터베이스 목록 출력하는 쿼리 명령어 $result = mysql_query($query); $num = mysql_num_rows($result); if (!$result) { die ('쿼리 실행 실패:' . mysql_error()); } echo "데이터베이스 목록 <br />"; for ($i=0; $i < $num; $i++) { echo mysql_db_name($result,$i) . "<br />"; } ?> |
결과
데이터베이스 생성
1 2 3 4 5 6 7 8 |
<?php $query = 'CREATE DATABASE testdb;'; $result = mysql_query($query); if (!$result) { die ('데이터베이스 testdb 생성 실패:' . mysql_error()); } echo "데이터베이스 testdb 생성됨 <br />"; ?> |
결과
데이터베이스 생성시, 내부함수 mysql_create_db() 의 사용은 권장되지 않는다하여, 정리하지 않았다.
http://php.net/manual/kr/function.mysql-create-db.php 설명 참조
마무리
위의 코드는 모두 github에 있다.
쿼리문을 알고 있으면 php와 연동 시 매우 편리하다. 앞으로 php를 활용한 테이블 생성 및 삭제 등 기본 기능 구현을 정리할 예정이다.