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접속