정보보안공부

웹보안_11. MYSQL과 PHP연동하기 본문

정보보안/웹보안

웹보안_11. MYSQL과 PHP연동하기

Steady_sp 2018. 2. 24. 02:55

MySQL과 PHP연동하기

 

# MySQL 라이브러리 설치

- php에서 mysql 라이브러리를 지원해준다.

- php-mysql.i686 설치

 

yum install php-mysql을 이용해 mysql라이브러리를 설치한다.

 

# MySQL 함수들 알아보기

** mysql_connect

-> mysql_connect('localhost', '계정', '비밀번호);

 

 

die문을 이용해 해당계정이 연결이 안되면 종료하고 mysql_error()로 오류문장을 출력한다. exit()도 사용가능하다.

 

** mysql_select_db

-> mysql_select_db('DB이름', MySQL연결)

 

 

die문을 이용해 해당DB가 연결이 안되면 종료하고 mysql_error()로 오류문장을 출력한다. exit()도 사용가능하다.

 

** mysql_query

-> mysql_query(해당쿼리내용)

 

 

 

 

update와 insert는 쿼리가 동작하거나 동작 안하거나를 리턴변수($result)로 구분할 수 있다. 동작하면 true 동작안하면 false

select의 경우는 특별하다. 해당 select의 쿼리가 성공하면 조건에 맞는 데이터가 있고 실패하면 false다. select 쿼리가 성공하거나 실패했을때에 따라 여러가지 함수를 더 사용해 볼 수 있다.

 

** mysql_num_rows

-> mysql_num_rows(select쿼리의 결과)

 

 

mysql_num_rows는 select쿼리의 결과 집합에서 행 수를 검색한다. 위코드와 같이 사용할때 유용한데 select결과가 있으면 $cnt가 1이상이므로 해당 결과(아이디, 패스워드)를 DB에서 수정할 수 있고, select결과가 없다면 insert를 이용해 DB에 추가(아이디,패스워드)할 수 있다.

 

** mysql_fetch_assoc

-> mysql_fetch_assoc(select쿼리 결과)

 

 

위와같이 mysql_fetch_assoc은 결과 행을 배열을 이용해 가져온다. 이때 키값은 해당 컬럼으로 no, id, pw가 된다.

 

** mysql_fetch_row

-> mysql_fetch_row(select쿼리 결과)

 

 

 

위와같이 mysql_fetch_num은 결과 행을 배열을 이용해 가져온다. 이때 키값은 해당 컬럼으로 0,1,2 가 된다.

 

** mysql_fetch_array

-> mysql_fetch_array(select쿼리 결과, MYSQL_ASSOC또는MYSQL_NUM또는MYSQL_BOTH)

 

 

 

 

MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH를 이용해 원하는 결과를 print_r (배열로출력)로 출력한다. 3가지 방법을 사용할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

'정보보안 > 웹보안' 카테고리의 다른 글

웹보안_16. XSS 공격 기법  (0) 2018.03.14
웹보안_12. 해시와 암호화의 차이  (0) 2018.02.26
웹보안_10. MYSQL/쿼리  (0) 2018.02.24
웹보안_9. 웹페이지 인증  (0) 2018.02.22
웹보안_8. GET/POST방식  (0) 2018.02.21
Comments