본문 바로가기

프로그래밍/PHP

[PHP] MYSQL DB와 연결해보자




 

 

 

 

PHP Web Prog.


처음으로 PHP를 공부하면서, 적은것이기에 다소 틀린 내용이 있을 수도 있습니다. 그리고, 다른 언어를 알고 계시다는 가정에하에 글을 적기때문에, 완전 웹프로그래밍 언어를 처음 공부하시는 분은 다른 글도 참고하시길 바랍니다.

 


 간단히 MYSQL과 연결을 해봅시다. 

 우선, 연결 메소드는 mysqli 를 이용할 것이구요. 연결방법과 연결 종료는 다음과 같이 사용합니다. 

<? 
    $conn = mysqli_connect(주소, 스키마계정, 비밀번호, 데이터베이스);
if (mysqli_connect_errno()){
echo "MySQL 연결 오류: " . mysqli_connect_error();
}else{
echo '성공';
}
mysqli_close($conn);
?> 

 이전의 mysql_connect와는 다르게 파라미터에 데이터베이스를 바로 선택할 수 있네요. 
연결 종료는 파라미터에 간단히 연결자를 넣어주면 됩니다. 
 
 그리고 모든 쿼리문은 다음의 함수를 이용합니다.
mysql_query(쿼리문);

 SELECT 쿼리문으로 나온 결과 셋은 다음의 함수를 이용해 데이터를 DB로부터 가져옵니다.
mysqli_fetch_array(결과셋);

  이 함수는 결과를 연관배열로 만들어 주는데요, 간단한 테스트를 통해서 SELECT문을 사용해 보겠습니다.

 <? 

    $conn = mysqli_connect('localhost', 'root', '123', 'test');

if (mysqli_connect_errno()){

echo "MySQL 연결 오류: " . mysqli_connect_error();

}else{

echo '성공<br/> ';

}

$rs = mysqli_query($conn, "SELECT * FROM test_table");

while($item = mysqli_fetch_array($rs)){

echo "$item[col1],";

echo "$item[col2]<br/>";

}

mysqli_close($conn);

?>

 

 결과는 다음과 같습니다.

성공
1,2

4,5


 이렇게 하기전에, 코드가 어떻게 돌아가는지 몰라서 결과셋을 담는걸 다음과 같이 해보았는데

$rs = mysqli_query($conn, "SELECT * FROM test_table");

$item = mysqli_fetch_array($rs);

while($item){

echo "$item[col1],";

echo "$item[col2]<br/>";

}


 이러니, 결과셋의 첫번째 row가 끝나지 않고, 무한 루프가 돌더군요. 동작구조가 이해가 가죠?

참고하세요 ㅎㅎ 이제 DB도 연결했으니 게시판을 만들 수 있겠군요. 도전해봅시다~