php 에서 mysql 접속하는 방법입니다.
이렇게 기초적인 간단한걸 왜 포스팅 하냐고요?
요즘은 php 도 대부분 프레임워크를 사용하기 때문에 이렇게 직접 디비에 접속하고 쿼리문 작성하고 결과를 처리할 일이 없기 때문에 너무 안 써서 까먹으니까 기록으로 남겨 놓으려고 합니다.
php 에서 mysql 접속하는 방법입니다.
배열이 아닌 일반 변수로 처리해도 상관 없습니다.
$mysql["host"] = "localhost"; // 서버아이피 또는 도메인 $mysql["port"] = "3306"; $mysql["conn"] = ""; $mysql["user"] = "user_name"; // 디비계정 $mysql["pass"] = "password"; // 비밀번호 $mysql["database"] = "database_name"; // 디비이름 $mysql["conn"] = @mysql_connect($mysql["host"], $mysql["user"], $mysql["pass"]) or die('DATABASE CONNECT ERROR!'); mysql_select_db($mysql["database"], $mysql["conn"]) or die('DATABASE CONNECT ERROR!');
쿼리문을 작성하고 실행 합니다.
$query = "SELECT * FROM 테이블 WHERE uid='아이디' "; $result = mysql_query($query, $mysql["conn"]);
결과 row 개수의 가져옵니다.
$total_count = mysql_num_rows($result);
결과를 배열로 받아서 while 문으로 반복하면서 row 별로 처리해볼까요
while( $row = mysql_fetch_array($result) ){ $uid = $row["uid"]; $user_name = $row["user_name"]; $user_tel = $row["user_tel"]; }
배열의 인텍스로 값을 가져올 수 있습니다. 이렇게요.
while($row = mysql_fetch_array($result)){ $uid = $row[0]; $user_name = $row[1]; $user_tel = $row["user_tel"]; }
결과를 받아서 for 문으로 반복해볼까요
$query = "SELECT * FROM 테이블 WHER uid='아이디' "; $result = mysql_query($query, $mysql["conn"]); $total_count = mysql_num_rows($result); for($i = 0; $i <= $total_count; $i++) { $uid = mysql_result($result, $i, 0); $user_name = mysql_result($result, $i, 1); $user_tel = mysql_result($result, $i, 2); }
list 를 이용하여 변수로 바로 받을 수도 있습니다.
while( list($uid, $user_name, $user_tel) = mysql_fetch_row($result) ) { }
테이블에 insert 후 자동증가 값인 pk 값을 가져옵니다.
$query = "INSERT INTO (seq, name, tel) VALUES ('', '홍길동', '010-1234-5678') "; $result = mysql_query($query, $mysql["conn"]); $total_count = mysql_affected_rows();
#php #PHP Query #php dbcon #php db접속