본문으로 바로가기

2022. 7. 4.
php mysql 연동

php mysql 연동

 

php로 서버사이드 페이지를 개발을 하면 그냥 코딩만으로 끝나는게 아니라 대부분의 경우는 데이터베이스와 연동을 하게 됩니다.

 

각종 데이터 가공 및 처리를 통해서 json형식으로 클라이언트 브라우저에 던져주게 되고 브라우저에서는 이 데이터를 받아서 화면에 보이게 디자인을 하여 노출을 시키게 됩니다.

 

php는 서버사이드 언어 즉 백엔드 언어입니다.

mysql과 연동을 하기 위한 문법은 mysqli_query를 이용을 해서 조회를 하면 됩니다.

 

전체적으로는 php에서 mysql 디비와 컨넥션을 유지한 뒤에 쿼리를 통해서 조회된 결과를 배열로 받고 이 배열로 받은 데이터를 json으로변환을 시켜서 프론트엔드로 던져주게 됩니다.

 

1.디비 연결

$con = mysqli_connect('디비서버주소 보통 localhost', '디비 아이디', '디비 비번','디비이름');

정상적으로 접속이 되면 다음 쿼리를 진행 할 수 있습니다.

 

최초의 디비와 연동하기 위한 연동이므로 이후 동작이 정상적이지 않다면 앞의 부분을 다시 체크할 필요가 있습니다. 이를 테면 디비 연결이 안된다는 문제가 되겠습니다.

 

이는 몇가지 방법이 있는데 그중의 하나는 mysqli_connect_errno()를 활용하면 됩니다.

 

if( mysqli_conenct_errno() ) {

echo '디비연결 실패 : ' . mysqli_connect_error();

exit;

}

 

2. 쿼리 조회

쿼리 조회를 하고난뒤에 조회된 결과가 있으면 그 갯수를 출력

$result = mysqli_query( $con, 'select ~~~ 쿼리문');

if( $result) {

  $count = mysqli_num_rows( $result);

}

 

이렇게 조회된 결과는 배열을 돌면서 체킹을 하거나 2차 데이터 가공을 하게 됩니다. 이를 테면 날짜가 timestamp로 저장이 되어 있는데 ymd로 바꾼다던지가 그러한 것이겠습니다.

mysqli_fetch_row

$rows = mysqli_fetch_row( $result );

print_r( $rows );

 

갯수 만큼 돌면서 출력

while( $record = mysqli_fetch_row( $result ) ) {

  print_r( $record);

}

 

각종 해킹 보안을 위해서 mysqli_real_escape_string을 활용해서 escape형태로 스트링을 변환시킵니다.

홑따옴표나 곁따옴표 역슬래쉬 * 기타 등등이 되겠습니다.