티스토리 뷰

Development/WEB

[PHP] DB 접속 및 연동

DEV @곰팡 2015. 12. 10. 22:10
반응형

가장 중요한 포스팅이다.


PHP를 사용하는 이유 중 주된 이유가 DB와 연동해야 하기 때문이다.


일단 바로 코드부터 보도록 하자.




<?php
// Connect DB & CONNECTION STANDARD
$connect = @mysql_connect ( "localhost", "DB아이디", "DB비밀번호" ) or die ( "DB접속에러" );
mysql_query ( "SET NAMES UTF8" ); // UTF-8 ENCODING

mysql_query ( "set session character_set_connection=utf8;" );
mysql_query ( "set session character_set_results=utf8;" );
mysql_query ( "set session character_set_client=utf8;" );

// Select DB
@mysql_select_db ( "DB이름", $connect ) or die ( "DB선택에러" );

// END OF Connect
?>


내가 주로 사용하는 DB접속 Query인데, UTF-8 방식을 적용한 DB를 사용하기 때문에 위와 같은 구문을 사용한다.

@mysql_connect("DB주소", "DB접속아이디", "DB접속 비밀번호"); 라는 정보를 $connect라는 변수에 담는다.

이 변수를 이용해서 mysql_select_db라는 함수를 이용하여 db를 선택하게 된다.

DB -> Table -> Query 의 순으로 호출해야 하기 때문에 여기까지는 DB를 선택하는 것 까지 하는 코드이다.

이제 실질적인 Query를 날리는 부분이다.




$result = @mysql_query("SELECT * FROM TABLE where 조건") or die("SQL error");

while ($row = mysql_fetch_array($result)) {

       echo $row[컬럼이름];

}

이런식으로 작성할 수 있다.

$result 라는 변수에 mysql_query 라는 쿼리문을 처리한 결과값을 담는다.

이 결과값은 배열의 형태로 return 되는데, 그것을 fetching 하여 얻을 수 있는것이 mysql_fetch_array라는 함수이다.

MySQL에는 결과를 fetching 하는 방식이 두가지가 있는데,

mysql_fetch_array : $row[user_id];
mysql_fetch_rows : $row[2];

두개가 있다. array는 실제 컬럼명으로 fetch할 수 있고, rows는 컬럼 번호별로 fetch할 수 있다.

이것을 while문의 조건식에 넣으면 Fetch 결과가 없을떄까지 계속 반복하게 되므로

모든 결과를 담아올 수 있다. 이 때 mysql_fetch를 호출할때마다 한 row 씩 읽게된다.

SELECT문 말고 만약에 INSERT문과 UPDATE, DELETE문 같은 경우는 mysql_affected_rows라는 함수를 이용해서

몇개의 row가 적용되었는지 알 수 있다.

mysql_affected_rows는 마지막 INSERT, UPDATE, REPLACE, DELETE 질의로 영향받은 행 수를 얻는다.

이런식으로 데이터를 불러올 수 있고, HTML과 연동하여 주로 Table에 넣는 방식을 사용한다.

중요한것은 순서이다. DB선택 -> DB연결 -> Query 전송 -> return된 Query Fetch


반응형
댓글
댓글쓰기 폼