건프의 소소한 개발이야기

[MySQL - PHP] PHP를 이용해서 DB 다루기 (1) - 접속하기 본문

개발 이야기/MySQL(DB) 이야기

[MySQL - PHP] PHP를 이용해서 DB 다루기 (1) - 접속하기

건강한프로그래머 2016. 5. 10. 20:34

안녕하세요, 건프입니다.



이번에는 데이터를 읽고 쓰고 저장하는데 많이 사용되는 데이터베이스(DataBase) 를 다루는데, 서버 사이드 프로그램을 처음 작성할때, 쉽게 접할 수 있는 

PHP 라는 언어로, 어떻게 DB를 사용할 수 있는 지 알아보려고 합니다.


사용하는 DB는 MySQL 이고, PHP 버전은 5.x 입니다.



첫번째는 어떻게 DB에 접속(Connect) 하느냐 입니다.


PHP 에서 DB를 사용하는 총제적인 구성도는 다음과 같습니다.


(PHP 코드상에서) ==> (DB Connection 을 요청)  ==> (Connection 을 받으면, 이 Connection 으로 각종 Query 문을 수행)


우선 Connection 을 받아봅시다.






mysqli_connect() 라는 내장함수로, 디비가 존재하는 ip 와, 유저명, 패스워드를 넘깁니다.

대부분의 경우, 현재 PHP를 실행하고 있는 서버내에서 로컬DB를 사용할 경우가 많으므로, 이경우 localhost 라고 써주면 됩니다.

만약 mysql 프로그램을 직접 이용하는 경우에는 command 에서 mysql 하고 위의 조건들을 옵션으로 넘겨줍니다.


이후 mysqli_select_db() 내장함수로, 선택한 데이터베이스 안의 DB명을 선택합니다.

만약 mysql 프로그램에서는 해당 작업이 use (db 명) 에 해당합니다.



이렇게 하므로써 우리는 $conn 라는 변수로 DB Connection 을 얻어낼 수 있습니다.


그런데 DB작업을 할때마다 매번 이런코드를 삽입한다면, 매우 번거로울 것 같습니다.

그래서 저는 개인적으로 다음과같이 PHP 파일을 하나 만들고, 그 안에 함수 하나를 정의해 놓고 사용합니다.





이 파일 이름을, mysql_settings.php 라고 한다면,


여러분들이 작성하고자 하는 새로운 PHP 파일의 최상단에 다음과 같이 써주시면, 언제든 저 함수를 호출 할 수 있고, 그 결과 Connection 을 얻을 수 있습니다.


include("./mysql_settings.php");


이렇게 쓸때의 조건은 지금 현재 쓰고 있는 파일과 같은 디렉토리에 mysql_settings.php 파일이 있다는 조건입니다.

만약 다른 위치에 있다면, 상대경로든 절대경로이든, 경로를 제대로 맞춰주셔야 해요.


상대경로와 절대경로에 대한 이야기는 혹시 모르신다면, 찾아보시는걸 추천드립니다. 그렇게 어려운 내용은 아니지만, 프로그래밍하는데 있어서 필수적인 지식이니까요~




사용 예제입니다.

이런식으로 사용할 수도 있다는 것이고, 위에서 mysql_settings.php 라고 되어 있는 것이, 여기서는 fmysql.php 였습니다.


위 예제에서 보라색 대문자로 되어 있는 문자열상수들을 선언할때는

define("MYSQL_IP", "localhost");

이렇게 선언하시면 됩니다.



도움이 되었길 바랍니다 :)

Comments