이번에는 php에서 MySQL 데이터베이스에 접속/ 해제하는 함수야.
php와 MySQL은 만든 회사도 별개인 다른 종류의 언어야.
그래서 php에서 MySQL에 접속해서 자료를 보내거나 가져오려면 이를 중계할 수 있는 함수가 필요하겠지?
mysqli_connect()는 접속하는 명령이고, mysqli_close()는 접속을 끊는 함수이야.
기본 명령형식은 아래와 같아.
$변수(객체) = mysqli_connect(DB주소, 아이디, 비번, DB명)
예를 들어 여러분이 카페24 에 호스팅을 신청하면서 받은 DB계정이 'abcd' 이고 비번이 '1234' 라면...
(이때 DB주소는 카페24의 접속주소인 http://abcd.cafe24.com 이 아니고 localhost 야.
왜냐하면 위 PHP명령을 실행하는 PHP 파일은 카페24에 있는 웹서버 이거든.
또 XAMPP 나 UWAMP 를 설치해서 여러분의 PC를 웹서버로 사용하고 있어도 접속 DB주소는 localhost 야.)
이렇게 명령을 하면 접속을 시도하고 그 결과값이 $dbc라는 변수에 저장돼.
(이 변수이름은 물론 여러분이 정하는 것이야. 보통 $dbc 또는 $conn 같은 이름을 많이 사용해.)
그런데 mysqli_이름으로 시작하는 함수의 결과는 ‘변수’보다 ‘객체(Object)’라는 이름으로 많이 불러.
결과가 가지고 있는 내용이 단 1개의 값이 아니고 여러 가지를 뭉뚱그려 가지고 있거든(꼭 그런 뜻은 아니지만..)
이 객체의 개념은 설명보다는 나중에 사용이 익숙해지면 저절로 알게 될 거야.
일단 변수의 형(삼촌)뻘 되는 ‘객체(Object)’라는 개념도 있다는 정도만 알아도 돼.
그런데 이렇게 객체에 결과값이 저장되면 제대로 접속되었는지 알 수 없잖아.
그래서 보통 아래와 같이 뒤에 추가적인 옵션을 붙여서 사용해.
$dbc = mysqli_connect('localhost','root','autoset','bbs') or die('DB접속 에러!');
위 명령을 해석하자면 “mysqli_connect()로 접속하고, 실패하면(or) 에러메시지 주고 죽어라(die).”쯤이 되겠네.
접속이 성공되면 아무 메시지도 없고 $dbc에 접속정보가 들어갈 거야.
이제부터 앞서 배운 MySQL의 모든 명령을 사용할 수 있는 거야.
사용이 끝나면 접속을 끊는 명령이 mysqli_close()야. 지금 접속한 연결을 끊으려면 아래와 같이 하면 되겠지?
mysqli_close($dbc);
php 파일 처리가 끝나면 자동으로 DB연결은 끊기지만 더 이상 DB를 쓸 일 없으면 이렇게 직접 끊어 주는 것은 아주 좋은 습관이야.