15. mysql 연동 - kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · mysql...

24
1 2006 2006봄학기 봄학기 문양세 문양세 강원대학교 강원대학교 컴퓨터과학과 컴퓨터과학과 프로그래밍 프로그래밍 (Web Programming) (Web Programming) MySQL MySQL 연동 연동 Page 2 Web Programming by Yang-Sae Moon 데이터베이스(database), DBMS 처리/관리하고자 하는 정보 혹은 데이터를 모아놓은 저장소 저장된 정보에 의미를 부여하고, 다양한 연산(검색, 갱신 등)을 제공하 는 소프트웨어 시스템 사용자에 의해 지시되는 일련의 연산(transaction)을 효과적이고 정확 하게 처리하는 소프트웨어 시스템 상용 DBMS (Commercial DBMS) Disk-based DBMS: Oracle, Informix, Sybase, UniSQL, MySQL, … Main Memory DBMS: Ten-Times, Altibase, UniSQL, … 데이터베이스 데이터베이스? (1/4) ? (1/4) MySQL 연동

Upload: others

Post on 28-Dec-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

1

20062006년년 봄학기봄학기

문양세문양세

강원대학교강원대학교 컴퓨터과학과컴퓨터과학과

웹웹 프로그래밍프로그래밍 (Web Programming)(Web Programming)

MySQLMySQL 연동연동

Page 2Web Programmingby Yang-Sae Moon

데이터베이스(database), DBMS

• 처리/관리하고자 하는 정보 혹은 데이터를 모아놓은 저장소

• 저장된 정보에 의미를 부여하고, 다양한 연산(검색, 갱신 등)을 제공하

는 소프트웨어 시스템

• 사용자에 의해 지시되는 일련의 연산(transaction)을 효과적이고 정확

하게 처리하는 소프트웨어 시스템

상용 DBMS (Commercial DBMS)

• Disk-based DBMS: Oracle, Informix, Sybase, UniSQL, MySQL, …

• Main Memory DBMS: Ten-Times, Altibase, UniSQL, …

데이터베이스데이터베이스? (1/4)? (1/4)MySQL 연동

Page 2: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

2

Page 3Web Programmingby Yang-Sae Moon

용어 이해

• 속성(attribute), 필드(field)

− 이름을 가진 논리적 데이터의 최소 단위 (예: 나이 필드, 이름 속성)

− 특정 객체(object, entity)의 한 성질의 값

− 테이블(table)의 attribute로 이해할 수 있음

• 레코드(record), 튜플(tuple)

− 논리적으로 서로 연관된 하나 이상의 데이터 필드(항목)들의 집합

− 엔티티 타입 (예: 학생 = {이름 필드, 학번 필드, 성별 필드, …})

데이터베이스데이터베이스? (2/4)? (2/4)MySQL 연동

Page 4Web Programmingby Yang-Sae Moon

용어 이해 (계속)

• 테이블(table)

− 레코드(정확히는 레코드 인스턴스)의 집합 (set of records)

− 관계형 DBMS에서는 대부분의 연관성 있는 데이터를 테이블로 관리함

− 테이블의 예: 학생 테이블, 성적 테이블, 급여 관리 테이블 등

• 인덱스(index), 색인

− 검색하고자 하는 레코드를 빠르게 찾아내기 위하여 별도의 (메모리, 디스

크) 구조를 관리

− 일반적으로, Unique한 하나의 속성에 대해서 인덱스를 구성함

− 트리 혹은 해싱 등의 인덱스 기술(technique)을 사용함

− 인덱스의 예: 학생 테이블에 대해 “학번” 속성으로 색인을 구성

데이터베이스데이터베이스? (3/4)? (3/4)MySQL 연동

Page 3: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

3

Page 5Web Programmingby Yang-Sae Moon

테이블 구성의 예

데이터베이스데이터베이스? (4/4)? (4/4)MySQL 연동

학번

1243

1257

1332

1334

1367

1440

이름

홍길동

김철수

박영희

이기수

정미영

최미숙

나이

10

20

19

21

20

21

본적

강원

경기

충청

전라

서울

강원

Schema

Attribute(Column)

Tuple(Record)Index

Page 6Web Programmingby Yang-Sae Moon

SQL

• Structured Query Language (, SEQUEL)

• 데이터베이스에서 정보를 얻거나 갱신하기 위한 표준화된 언어

DML (Data Manipulation Language)

• SELECT: 검색 조건에 맞는 데이터(레코드)를 선택(조회)

• INSERT: 새로운 데이터(레코드)를 삽입

• UPDATE: 기존의 데이터(레코드, 속성)를 수정

• DELETE: 기존의 데이터(레코드)를 삭제

How about DDL(Data Definition Language)?

• 데이터 형태 및 데이터베이스 자체를 정의하는 언어

• 예: 테이블 생성 및 삭제(create/drop table), 인덱스 생성, DB 생성

데이터데이터 접근접근 (Data Access) (1/6)(Data Access) (1/6)MySQL 연동

Page 4: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

4

Page 7Web Programmingby Yang-Sae Moon

MySQL 연동

한국초록색100대추

인도네시아초록색90파인애플

호주초록색80키위

인도네시아노란색70바나나

미국빨간색60토마토

한국주황색50감

한국초록색40수박

한국분홍색30복숭아

한국노란색20배

한국빨간색10사과

countrycolorpricename

테이블 예제: fruit 테이블

데이터데이터 접근접근 (Data Access) (2/6)(Data Access) (2/6)

Page 8Web Programmingby Yang-Sae Moon

MySQL 연동데이터데이터 접근접근 (Data Access) (3/6)(Data Access) (3/6)

SELECT

• 특정 테이블에서 원하는 데이터(레코드, 속성)를 검색할 때 사용

• 상기 예는 fruit 테이블을 사용하여 색깔(color)이 빨간색인 과일의 이름(name)과 가격

(price)를 가져오는 문장임

• SQL에서 특정 데이터가 문자열로 되어 있으면 작은 따옴표(‘)로 묶어주어야 하며 숫자는

작은 따옴표로 묶지 않고 그냥 사용

• 상기 SQL 문장의 실행 결과는 다음과 같음

SELECT name, price FROM fruit WHERE color = ‘빨간색’;

60토마토

10사과

pricename

Page 5: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

5

Page 9Web Programmingby Yang-Sae Moon

MySQL 연동데이터데이터 접근접근 (Data Access) (4/6)(Data Access) (4/6)

INSERT

• 특정 테이블에 새로운 데이터(레코드)를 삽입할 때 사용

• 상기 예는 fruit 테이블에서 “이름은 멜론이고 가격은 110원, 색깔은 초록색이며 원산지

는 한국”인 새로운 레코드를 삽입

• 상기 SQL 문장의 실행 결과는 다음과 같은 레코드가 fruit 테이블에 추가됨

INSERT INTO fruit VALUES (‘멜론’, 110, ‘초록색’, ‘한국’);

한국초록색110멜론

countrycolorpricename

Page 10Web Programmingby Yang-Sae Moon

MySQL 연동데이터데이터 접근접근 (Data Access) (5/6)(Data Access) (5/6)

UPDATE

• 특정 테이블에서 기존 데이터(레코드)의 내용을 수정할 때 사용

• 상기 예는 fruit 테이블에서 “이름(name)이 멜론인 레코드의 가격(price)을 120원으로, 원산지(country)를 미국으로 수정”하는 경우임

• 상기 SQL 문장의 실행 결과, 기존 레코드는 다음과 같이 내용이 변경됨

UPDATE fruit SET price=120, country=‘미국’ WHERE name=‘멜론’;

미국초록색120멜론

countrycolorpricename

Page 6: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

6

Page 11Web Programmingby Yang-Sae Moon

MySQL 연동데이터데이터 접근접근 (Data Access) (6/6)(Data Access) (6/6)

DELETE

• 특정 테이블에서 기존 데이터(레코드)를 지울 때 사용

• 상기 예는 fruit 테이블에서 “이름(name)이 멜론인 레코드를 삭제”하는 경우임

• 상기 SQL 문장의 실행 결과, 이름이 멜론인 레코드가 fruit 테이블에서 삭제됨

DELETE FROM fruit WHERE name=‘멜론’;

Page 12Web Programmingby Yang-Sae Moon

MySQL 사용 순서

MySQLMySQL 사용법사용법 (1/6)(1/6)MySQL 연동

mysql_connect() 데이터베이스 접속

mysql_select_db() 사용자 데이터베이스 선택

mysql_query() SQL 명령 실행

mysql_fetch_row() 실행 결과를 한 튜플(행)씩 가져옴

mysql_close() 데이터베이스 접속 해제

Page 7: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

7

Page 13Web Programmingby Yang-Sae Moon

MySQL 연동

mysql_connect

• MySQL이 설치된 hostname에 접근하여 username과 password를 통해 MySQL에 로그인을

수행함

• 성공하면 MySQL link identifier를 리턴함 (다음 단계에서 활용함)

• mysql_close() 를 호출하지 않아도 스크립트의 실행이 끝나면 자동으로 close됨

MySQLMySQL 사용법사용법 (2/6)(2/6)

resource mysql_connect (

[string hostname [:port] [:/path/to/socket]

[, string username [, string password]]])

Page 14Web Programmingby Yang-Sae Moon

MySQL 연동

mysql_select_db

• link_identifier 서버에서 database_name의 데이터베이스를 연결함

• 연결에 성공하면 TRUE, 실패하면 FALSE를 리턴함

• 만일 link_identifier가 없으면 자동으로 이전에 열렸던 link_identifier를 이용하여 데이터

베이스를 연결함

MySQLMySQL 사용법사용법 (3/6)(3/6)

bool mysql_select_db (

string database_name [, resource link_identifier])

Page 8: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

8

Page 15Web Programmingby Yang-Sae Moon

MySQL 연동

mysql_query

• 지정된 link_identifier를 사용하여 현재 활성화된 데이터베이스에서 주어진 질의문

(query)를 실행함

• 성공하면 TRUE, 실패하면 FALSE를 리턴함

• query에 들어가는 문자열의 마지막에는 세미콜론(;)을 사용하지 않음

MySQLMySQL 사용법사용법 (4/6)(4/6)

resource mysql_query (

string query [, resource link_identifier])

Page 16Web Programmingby Yang-Sae Moon

MySQL 연동

mysql_fetch_row

• 질의문(주로 Select 문)의 수행 결과에 따라, 각각의 레코드(tuple, row)를 차례로 읽어

들이는 함수임

• result로부터 결과 값을 배열로 리턴

• 이 함수를 계속 호출하게 되면 result로부터 다음 row(레코드)를 차례로 읽어 옴

• 더 이상 읽어 올 row가 없으면 FALSE를 리턴

MySQLMySQL 사용법사용법 (5/6)(5/6)

array mysql_fetch_row (resource result)

Page 9: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

9

Page 17Web Programmingby Yang-Sae Moon

MySQL 연동

mysql_close

• link_identifier로 연결된 MySQL을 닫음 ( Resource를 반환함)

• 성공하면 TRUE, 실패하면 FALSE를 리턴함

• 만일 link_identifier가 연결되어 있지 않으면 마지막으로 연결된 link_identifier를 닫음

MySQLMySQL 사용법사용법 (6/6)(6/6)

bool mysql_close ([resource link_identifier])

Page 18Web Programmingby Yang-Sae Moon

MySQL 연동

phpMyAdmin

• DB 및 SQL명령을 자세히 알지 않고서도 MySQL에 대한 사용을 용이하게 해주는 유틸리티

• APM을 정상적으로 설치한 경우, 자동적으로 함께 설치됨

실행하기

phpMyAdminphpMyAdmin –– 실행실행 및및 로그인로그인 (1/2) (1/2)

Page 10: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

10

Page 19Web Programmingby Yang-Sae Moon

MySQL 연동

로그인하기

phpMyAdminphpMyAdmin –– 실행실행 및및 로그인로그인 (2/2) (2/2)

root/apmsetup

Page 20Web Programmingby Yang-Sae Moon

MySQL 연동

새로운 DB의 이름을 입력하고 만들기를 클릭

phpMyAdminphpMyAdmin –– 새로운새로운 DB DB 만들기만들기 (1/4) (1/4)

Page 11: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

11

Page 21Web Programmingby Yang-Sae Moon

MySQL 연동

새로운 DB의 생성 결과

phpMyAdminphpMyAdmin –– 새로운새로운 DB DB 만들기만들기 (2/4) (2/4)

대응되는 SQL Statement

Page 22Web Programmingby Yang-Sae Moon

MySQL 연동

생성된 DB 확인하기

phpMyAdminphpMyAdmin –– 새로운새로운 DB DB 만들기만들기 (3/4) (3/4)

Page 12: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

12

Page 23Web Programmingby Yang-Sae Moon

MySQL 연동

생성된 DB 확인하기 (결과 화면)

phpMyAdminphpMyAdmin –– 새로운새로운 DB DB 만들기만들기 (4/4) (4/4)

Page 24Web Programmingby Yang-Sae Moon

MySQL 연동

Table을 만들고자 하는 DB를 선택 (예의 경우 goods)

phpMyAdminphpMyAdmin –– 새로운새로운 Table Table 만들기만들기 (1/5) (1/5)

Page 13: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

13

Page 25Web Programmingby Yang-Sae Moon

MySQL 연동

만들고자 하는 Table의 이름과 속성(필드) 개수를 입력

phpMyAdminphpMyAdmin –– 새로운새로운 Table Table 만들기만들기 (2/5) (2/5)

Page 26Web Programmingby Yang-Sae Moon

MySQL 연동

Table을 구성하는 속성의 정보(타입, 크기, 색인 정보 등)를 입력

phpMyAdminphpMyAdmin –– 새로운새로운 Table Table 만들기만들기 (3/5) (3/5)

Page 14: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

14

Page 27Web Programmingby Yang-Sae Moon

MySQL 연동

Table 생성에 대한 수행 결과

phpMyAdminphpMyAdmin –– 새로운새로운 Table Table 만들기만들기 (4/5) (4/5)

대응되는 SQL Statement

Page 28Web Programmingby Yang-Sae Moon

MySQL 연동

생성된 Table에 대한 정보 조회 결과

phpMyAdminphpMyAdmin –– 새로운새로운 Table Table 만들기만들기 (5/5) (5/5)

Page 15: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

15

Page 29Web Programmingby Yang-Sae Moon

MySQL 연동

원하는 Table을 메뉴에서 삽입을 클릭

phpMyAdminphpMyAdmin –– 레코드레코드 삽입하기삽입하기 (1/4) (1/4)

Page 30Web Programmingby Yang-Sae Moon

MySQL 연동

해당 레코드의 (속성) 값을 입력하고 실행

phpMyAdminphpMyAdmin –– 레코드레코드 삽입하기삽입하기 (2/4) (2/4)

Page 16: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

16

Page 31Web Programmingby Yang-Sae Moon

MySQL 연동

레코드 생성의 수행에 따른 결과 화면

phpMyAdminphpMyAdmin –– 레코드레코드 삽입하기삽입하기 (3/4) (3/4)

대응되는 SQL Statement

Page 32Web Programmingby Yang-Sae Moon

MySQL 연동

레코드 생성 반복

phpMyAdminphpMyAdmin –– 레코드레코드 삽입하기삽입하기 (4/4) (4/4)

Page 17: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

17

Page 33Web Programmingby Yang-Sae Moon

MySQL 연동

원하는 Table을 메뉴에서 검색을 클릭

phpMyAdminphpMyAdmin –– 레코드레코드 검색하기검색하기 (1/6) (1/6)

Page 34Web Programmingby Yang-Sae Moon

MySQL 연동

검색 조건을 입력 (아래 예는 테이블 전체 검색)

phpMyAdminphpMyAdmin –– 레코드레코드 검색하기검색하기 (2/6) (2/6)

Page 18: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

18

Page 35Web Programmingby Yang-Sae Moon

MySQL 연동

테이블 전체 검색의 결과 화면

phpMyAdminphpMyAdmin –– 레코드레코드 검색하기검색하기 (3/6) (3/6)

대응되는 SQL Statement

Page 36Web Programmingby Yang-Sae Moon

MySQL 연동

검색 조건을 입력 (아래 예는 가격 속성에 조건 입력)

phpMyAdminphpMyAdmin –– 레코드레코드 검색하기검색하기 (4/6) (4/6)

Page 19: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

19

Page 37Web Programmingby Yang-Sae Moon

MySQL 연동

가격 속성에 조건을 준 경우의 결과 화면

phpMyAdminphpMyAdmin –– 레코드레코드 검색하기검색하기 (5/6) (5/6)

대응되는 SQL Statement

Page 38Web Programmingby Yang-Sae Moon

MySQL 연동

SQL 문장을 직접 입력하는 예제

phpMyAdminphpMyAdmin –– 레코드레코드 검색하기검색하기 (6/6) (6/6)

Page 20: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

20

Page 39Web Programmingby Yang-Sae Moon

MySQL 연동

가격이 50원 이상인 레코드들의 출력 프로그램 (fruit_mysql.php)

SQLSQL을을 포함한포함한 PHP PHP 프로그램프로그램 예제예제 (1/3)(1/3)

<html>

<body>

<?PHP

$conn = mysql_connect (‘localhost’, ‘root’, ‘apmsetup’);

$db_status = mysql_select_db (‘goods’);

if (!$db_status) {

error (“DB_ERROR”);

exit;

}

$query = “select * from fruit where price >= 50”;

$result = mysql_query ($query);

Page 40Web Programmingby Yang-Sae Moon

MySQL 연동

가격이 50원 이상인 레코드들의 출력 프로그램 (계속)

SQLSQL을을 포함한포함한 PHP PHP 프로그램프로그램 예제예제 (2/3)(2/3)

print “<table border=1><tr>” .

“<th>이름</th>” .

“<th>가격</th>” .

“<th>색깔</th>” .

“<th>원산지</th></tr>”;

while ($row = mysql_fetch_row ($result)) {

print “<tr><td>” . $row[0] . “</td>” .

“<td>” . $row[1] . “</td>” .

“<td>” . $row[2] . “</td>” .

“<td>” . $row[3] . “</td></tr>”;

}

print “</table>”;

?>

</body>

</html>

Page 21: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

21

Page 41Web Programmingby Yang-Sae Moon

MySQL 연동

가격이 50원 이상인 레코드들의 출력 프로그램 실행 화면

SQLSQL을을 포함한포함한 PHP PHP 프로그램프로그램 예제예제 (3/3)(3/3)

Page 42Web Programmingby Yang-Sae Moon

MySQL 연동

테이블(fruit)에 새로운 레코드를 삽입하는 웹 화면의 구성

fruit1.php

MySQLMySQL을을 이용한이용한 웹웹 프로그래밍프로그래밍 (1/7)(1/7)

<html>

<body>

<form name=fruit method=post action=“./fruit2.php”>

새로운 데이터를 입력해 주세요<br>

이름: <input type=text name=name><br>

가격: <input type=text name=price><br>

색깔: <input type=text name=color><br>

원산지: <input type=text name=country><br>

<input type=submit value=“입력”>

<input type=reset value=“취소”>

</form>

</body>

</html>

Page 22: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

22

Page 43Web Programmingby Yang-Sae Moon

MySQL 연동

fruit1.php의 실행 결과

MySQLMySQL을을 이용한이용한 웹웹 프로그래밍프로그래밍 (2/7)(2/7)

Page 44Web Programmingby Yang-Sae Moon

MySQL 연동

삽입 프로그램: fruit2.php

MySQLMySQL을을 이용한이용한 웹웹 프로그래밍프로그래밍 (3/7)(3/7)

<html><body><?PHP$conn = mysql_connect (‘localhost’, ‘root’, ‘apmsetup’);$db_status = mysql_select_db (‘goods’);if (!$db_status) {

error (“DB_ERROR”);exit;

}$query = “INSERT INTO fruit VALUES “ .

“(‘$name’, $price, ‘$color’, ‘$country’)”;$result = mysql_query ($query);if ($result)

print “입력되었습니다.<br>”;else

print “입력되지 않았습니다.<br>”;?></body></html>

Page 23: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

23

Page 45Web Programmingby Yang-Sae Moon

MySQL 연동

삽입 프로그램(fruit2.php)의 실행 결과

MySQLMySQL을을 이용한이용한 웹웹 프로그래밍프로그래밍 (4/7)(4/7)

Page 46Web Programmingby Yang-Sae Moon

MySQL 연동

검색을 통한 삽입 결과 확인 (fruit_mysql.php)

MySQLMySQL을을 이용한이용한 웹웹 프로그래밍프로그래밍 (5/7)(5/7)

Page 24: 15. MySQL 연동 - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_1/wp/15.pdf · 2016-06-02 · MySQL 연동 삽입프로그램(fruit2.php)의실행결과 MySQL을이용한웹프로그래밍(4/7)

24

Page 47Web Programmingby Yang-Sae Moon

MySQL 연동

fruit_mysql.php의 개선 (Sorting)

MySQLMySQL을을 이용한이용한 웹웹 프로그래밍프로그래밍 (6/7)(6/7)

..

..

..

$query = “select * from fruit where price >= 50 order by price”;

$result = mysql_query ($query);

..

..

..

Page 48Web Programmingby Yang-Sae Moon

MySQL 연동

fruit_mysql.php의 개선 (Sorting) 결과 화면

MySQLMySQL을을 이용한이용한 웹웹 프로그래밍프로그래밍 (7/7)(7/7)