480 likes | 786 Views
CHAPTER 08. Mysql 과 PHP 의 연동. mysql_select_db ( ). mysql_connect ( ). MySQL. PHP. DB. mysql_close ( ). DB. PHP. MySQL 접속과 종료. Se ction 01 /. PHP 에서 MySQL 에 접속하기 위해서 사용되는 함수는 ‘ mysql_connect ( )’ 함수 이고 mysql 의 접속을 종료하는 함수는 ‘ mysql_close ( )’ 함수이며 , 사용 형식은 다음 과 같다.
E N D
CHAPTER 08. Mysql과 PHP의 연동 mysql_select_db( ) mysql_connect( ) MySQL PHP DB mysql_close( ) DB PHP
MySQL접속과 종료 Section 01 / • PHP에서 MySQL에 접속하기 위해서 사용되는 함수는 ‘mysql_connect( )’함수 • 이고 • mysql의 접속을 종료하는 함수는 ‘mysql_close( )’함수이며, 사용 형식은 다음 • 과 같다. • ‘mysql_connect( )’함수를 사용하여 mysql에 성공적으로 접속되면, 식별자 번 • 호가 반환되고 • ‘mysql_close( )’함수는 접속된 mysql의 연결을 종료하는 함수이다.
▣ [ex8-1.php] mysql_connect( )함수로 mysql접속과종료하기
▣ [ex8-1.php] mysql_connect( )함수로 mysql접속과종료하기
[ex8-1]에서 변수 ‘$good=mysql_connect(“localhost”, “root”, “123456”);’에 • 서 원래의 비밀번호 ‘123456’이 아닌 • ‘000000’(숫자 0)으로 바꾸어 실행하게 되면 다음과 같은 에러 메시지가 출력 • 된다.
PHP에서 데이터베이스 선택 Section 02 / • PHP에서 데이터베이스를 선택할 때 사용하는 함수는 ‘mysql_select_db( )’함수 • 이며, 사용형식은 다음과 같다. • 선택할 데이터베이스가 관리자 계정인 ‘root’에 존재하는지를 먼저 확인하기 • 위해 프롬프트 창에서 다음과 같이 입력한다.
만약, 데이터베이스의 전체 목록에서 선택할 ‘study_db’ 데이터베이스가 없다면 ‘CREATE DATABASE study_db’명령으로 데이터베이스를 생성한다.
▣ [ex8-2.php] mysql_select_db( )함수로 데이터베이스 선택 mysql에 접속할 비밀번호가 틀리면 에러메시지 출력 mysql에 접속된 리소스 ID 출력
▣ [ex8-2.php] mysql_select_db( )함수로 데이터베이스 선택
▣ [ex8-2.php] mysql_select_db( )함수로 데이터베이스 선택 접속 비밀번호를 틀리게 ▼ mysql에 접속하는 비밀번호가 틀리게 입력되었을 경우의 화면
PHP에서 데이터베이스 질의 Section 03 / • PHP에서의 데이터베이스 질의에 사용되는 함수는 ‘mysql_query( )’ 함수로 • SQL 문법에 의해 작성된 • 질의, 접속을 식별하는 식별자(변수명)를 매개변수로 받아 질의를 수행한다.
3.1 테이블 생성과 레코드 삽입 • 관리자 계정인 ‘root’에 존재하는 ‘study_db’ 데이터베이스에 고객관리를 위한 • 테이블 ‘guest’를 생성한다.
(1) 테이블 생성 (CREATE) • 새로운 ‘guest’ 테이블을 만들기 위한 SQL 명령은 다음과 같다.
(2) 레코드 삽입 (INSERT) • 변수 ‘$sql’ 을 선언하여 레코드를 삽입하고, mysql_query( ) 함수로 질의문을 • 수행한다.
다음 예제는 ‘mysql_query( )’함수를 이용하여 ‘study_db’ 데이터베이스에 ‘geust’ • 테이블을 생성하고 5명의 레코드를 삽입하는 예제이다. ▣ [ex8-3.php] mysql_query( )함수로 테이블생성하고 레코드 삽입
[ex8-3.php] 프로그램을 웹 브라우저 창에서 [새로고침]을 클릭하면 다음과 같 • 은 화면이 나타난다. 그 이유는 이미 ‘guest’ 테이블이 생성되어 있기 때문이다.
(3) MySQL에서 테이블 생성 확인 • 예제 [ex8-3]에서 생성된 ‘guest’ 테이블이 ‘study_db’ 데이터베이스 테이블로 • 생성되었는지를 프롬프트 창에서 확인한다.
프롬프트 창에서 ‘DESC’ 명령으로 ‘guest’ 테이블의 구조를 확인한다.
(4) MySQL에서 레코드 삽입 확인 • ‘study_db’ 데이터베이스의 ‘guest’ 테이블에 5명의 데이터가 입력되었는지를 • 확인하기 위해 다음과 같이 입력한다.
5명의 레코드가 삽입된 것을 확인하였으면, 다음 예제 [ex8-4]의 실습을 위해 • 생성된 ‘guest’ 테이블을 삭제한다.
‘guest’ 테이블을 삭제하는 이유는 ‘study_db’ 데이터베이스에 이미 작성된 • 테이블 ‘guest’가 있으면 다음 예제 [ex8-4]에서 중복 수행되기 때문이다. • 예제 [ex8-3]은 테이블의 생성과 레코드의 삽입을 한꺼번에 수행하는 프로 • 그램이라 좀 복잡하다. • 테이블의 생성과 레코드의 삽입을 따로 따로 프로그래밍 또한 가능하며, • 다음예제는 테이블의 생성만을 위한 프로그램이다.
(5) MySQL에서 ‘guest’테이블 존재 확인 • 프롬프트 창에서 ‘guest’ 테이블이 생성된 것을 확인할 수 있다.
(6) MySQL에서 레코드 삽입 확인 • 프롬프트 창에서 ‘guest’ 테이블에 5명의 레코드가 삽입되었는지를 확인하기 • 위해 ‘study_db’ 데이터베이스로 mysql에 접속한다.
3.2 레코드와 필드의 개수 구하기 (1) 레코드의 개수 구하기 : mysql_num_rows( )함수 • 테이블에 저장된 레코드의 전체 개수를 구하기 위해 사용되는 함수는 ‘mysql • _num_rows( )’함수로 사용형식은 다음과 같다.
(2) 필드의 개수 구하기 : mysql_num_fields( )함수 • 테이블에존재하는 필드의 전체 개수를 구하기 위해 사용되는 함수는 ‘mysql • _num_fields( )’ 함수로 사용형식은 다음과 같다.
▣ [ex8-7.php] mysql_num_fields( )함수로 필드 개수구하기 예제 [ex8-6]과 예제 [ex8-7]의 차이점은 레코드를 구하는 ‘mysql_num_rows( )’함수 의 사용과 필드의 개수를 구하는 ‘mysql_num_fields( )’함수의 사용에 있다.
3.3 레코드 불러오기 (1) 레코드를 하나씩 호출 : mysql_fetch_row( ), mysql_fetch_array( )함수 • 테이블에 저장되어 있는 전체 레코드 중에서 하나의 레코드 단위로 호출할 • 때 사용되는 함수는 ‘mysql_fetch_row( )’함수이다. <사용 형식> • 같은 방법이지만 배열로 불러올 때는 ‘mysql_fetch_array( )’함수를사용한다.
(2) 특정 레코드 호출 : mysql_result( )함수 • 특정레코드를 불러오기 위해 사용되는 ‘mysql_result( )’ 함수는 ‘mysql_que • ry( )’ 함수의 수행 후 • 반환되는 결과값, 행 번호, 열 제목을 매개변수로 받아 결과 값의 해당 행과 • 열에 위치한 레코드를 불러온다. <사용 형식>
▣ [ex8-9.php] mysql_result( )함수로 특정레코드불러오기
예제 [ex8-9]에서는 특정 레코드를 불러오는 ‘mysql_result( )’함수를 반복문(for문) 을 사용하여 전체 레코드를 출력한다.
▣ [ex8-9.php] mysql_result( )함수로 특정레코드불러오기
요 점 정 리 • PHP에서 MySQL에 접속하기 위해 사용되는 함수는 ‘mysql_connect( )’함수이, mysql의 • 접속을 종료하는 함수는 ‘mysql_close( )’함수이다. • 데이터베이스를 선택할 때는 ‘mysql_select_db( )’함수를 사용한다. • SQL문법에 의해 작성된 질의, 접속을 식별하는 식별자(변수명)를 매개변수로 받아 질의 • 를 수행할 때는 ‘mysql_query( )’함수를 사용한다. • 레코드의 전체 개수를 구할 때는 ‘mysql_num_rows( )’함수를 사용한다. • 필드의 전체 개수를 구할 때는 ‘mysql_num_fields( )’함수를 사용한다. • 레코드를 하나씩 호출할 때는 ‘mysql_fetch_row( )’함수를 사용하고, MySQL질의문 수행 • 후 반환되는 결과값에 따라 특정 행과 열에 위치한 특정 레코드를 불러올 때는 ‘mysql_r • esult( )’함수를 사용한다. • 레코드를 하나씩 호출할 때 배열을 사용하려면 ‘mysql_fetch_array( )’함수를 사용한다.