PHP programming
Download
Report
Transcript PHP programming
PHP programming
2000년 11월 13일
데이터베이스 연구실 김호숙
목차
PHP 란?
A.P.M (Apache / PHP / MySQL)
환경 접속
PHP기본 문법
방명록 예
Reference
PHP 란?
PHP Version 3.0은
server-side HTML-embedded scripting language.
사용자와의 상호 작용을 통해 구현되는 스크립트 언어(컴파일 없
이 실행)로 사용자가 HTML폼을 통해 입력한 값을 웹 서버 상에서
처리한 후 그 결과를 HTML과 같은 형태로 가공하여 다시 사용자
의 브라우저에 전달하는 Server측 언어.
PHP3를 사용하면 Database를 사용한 Web page를 간단히 만들
수 있다. 다음에 나오는 DB server들을 현재 사용할 수 있다. :
Oracle, Sybase, mSQL, MySQL, Solid, ODBC,
PostgreSQL FilePro, Velocis, Informix, dBase…
PHP는 1994년 가을 Rasmus Lerdorf가 처음 고안하였다.
처음 비 공개판은 그의 홈페이지에 사용되었고, 외부에
사용된 것은 1995년 초부터 사용되어 Personal Home
Page Tools라고 불리게 되었다. 이것은 몇 개의 특별한
매크로를 사용할 수 있는 단순한 파서(명령 해석기) 엔진
과 방명록이나 카운터 같이 홈페이지의 뒤에서 공통적으
로 사용할 수 있는 몇 개의 간단한 유틸리티로 구성되었
다.
이 파서가 1995년 중반에 재 작성되어 PHP/FI Version 2
라고 명명되었다.
1997년 중반 PHP는 Rasmus의 개인이 아닌 팀에 의해
개발되고 있다. 새 파서는 Zeev Suraski와 Andi
Gutmans가 재 작성되었고, PHP Version 3라는 이름으로
나타났다. 많은 PHP/FI의 기능들이 옮겨왔고, 그 외에도
많은 기능들이 새로 작성되었다.
A.P.M (Apache / PHP / MySQL)
A.P.M 은 Apache(웹 서버) PHP(CGI언어) MySQL(데어터베이스)
를 말하며 안정적이고 빠른 DB연동 웹 서버를 꾸밀 수 있는 환경.
MySQL 무료로 쓸 수 있게 공개된 관계형 데이터베이스로서 안정
성 및 무결성의 측면에서 상용 제품에 비해 떨어지지만 속도와 뛰
어난 수행능력 그리고 사용의 편리함 등의 장점을 갖춘 제품이다.
처음에 MySQL은 TcX 내부에서 자체적으로 사용할 목적을 가지고
만들어졌다고 합니다. TcX는 1996년부터 MySQL을 사용해 왔으며
현재 700만 레코드 이상 되는 500개 이상의 테이블(100기가 바이
트 이상)이 주요업무에 사용되고 있다고 하니 어느 정도의 중소업
체에서도 충분히 사용할 수가 있습니다.
환경 접속
mobile.ewha.ac.kr 에 접속 (ID: mysql password: ewhacse)
$cd /usr/local/mysql/bin
$./mysql -u [ID] -p [database_name]
database_name은 사용자 아이디와 동일
예를 들어, db1이라는 사용자가 db1이라는 데이터베이스를 이용하여 작
업을 하려면 $./mysql -u db1 -p db1
Mysql 이라는 홈 디렉토리에 public_html이란 디렉토리가 있다. 각자 이
디렉토리에 학번으로 디렉토리를 만들고 그 아래서 php 실습을 해보자.
확장자명은 *.php3 로 하고
브라우저에서 테스트 해 볼 때는
http://mobile.ewha.ac.kr/~mysql/[학번]/xxx.php3으로 테스트 해 보면
됩니다.
PHP기본 문법
1.PHP code mode
<?
echo ("this is the simplest, an SGML
processing instruction\n");
?>
<?php
echo("if you want to serve XML documents, do
like this\n");
?>
각 문장은 세미콜론(;)으로 종료.
2. 변수 형태(Types)
PHP에서는 다음 형태의 타입을 지원하며, 이런
타입을 프로그램시 프로그래머가 선택할 필요 없
이, PHP가 실행 중에 변수의 값의 내용에 따라 자
동으로 바꾸어 준다.
정수형(integers)
실수형(floating-point numbers)
문자열(string)
배열(array)
객체(object)
3. 변수(Variable)
변수가 선언된 곳 안에서만 유용. => 지역 변수
전역변수로 사용하려면 변수 앞에 global을 선언.
$a = 1;
//global scope
Function Test() {
echo $a; //reference to local scope variable
}
Test();
결과 : 빈 출력 결과!!
$a = 1;
$b = 2;
Function Sum() {
global $a, $b;
$b = $a + $b;
}
Sum();
echo $b;
결과 : "3"이 출력
PHP 밖에서 온 변수들(Variables from outside PHP)
<form action="foo.php3" method="post">
Name : <input type="text" name="name"><br>
<Input type="submit">
</form>
submit 시에 PHP는 $name변수를 만들고 name필드에
입력된 모든 내용을 저장한다.
4. 상수(Constants)
기본적으로 제공되는 상수는 __FILE__과 __LINE__이다.
이 상수들은 현재 처리중인 파일명과 라인 번호를 내용으
로 한다.
define()과 undefine() 함수를 사용하여 추가적인 상수를
정의할 수 있다.
Language constructs
PHP3 스크립트는 문장(statement)의 나열로
만들어진다. 문장에는 대입문(assignment), 함
수호출(function call), 순환문(loop), 조건문
(conditional statement)등이 있다.
문장들은 중괄호( { } )를 사용하여 하나의 복
문장 (statement-group)으로 만들 수 있다. 이
복문장은 하나의 문장처럼 사용될 수 있다.
그밖에…
표현식
IF / ELSE / ELSEIF
WHILE / DO..WHILE
FOR / SWITCH
REQUIRE / INCLUDE
FUNCTION
CLASS
방명록 예
PHP 와 mysql 을 이용해서 방명록을 만들려면 먼저
mysql 에 테이블을 만들어야 합니다.그 다음 php 로
mysql 에 연결 하는 프로그램을 짜면 됩니다.
간단하게 이름과 내용만을 갖는 방명록을 만들어 보자.
DB생성
mysql> create table guest (name varchar(20), content text );
mysql> show tables;
mysql> describe guest;
mysql> quit
insert.htm
<HTML>
<BODY>
<h3>방명록 쓰기 </h3>
<form method='post' action=insert.php3>
이름 :<input type='text' name='name'><p>
내용 :<textarea name='content' cols=50 rows=5></textarea>
<p>
<input type='submit' value='글쓰기'>
<input type='reset' value='지우기'><br>
</form>
</BODY></HTML>
insert.php3
<?
// mysql에 연결 한다. 계정은 dbxx 이고 비밀번호는 dbxx 이다.
$db=mysql_connect("localhost",“dbxx",“dbxx");
// mysql 에 연결 후 DB를 선택 한다
mysql_select_db(“dbxx", $db);
$dbinsert = "insert into guest values ('$name','$content')";
// DB 안에서 선택된 테이블을 쿼리한다.
$result=mysql_query($dbinsert, $db);
// 닫는다. 메모리 낭비 방지
mysql_close($db);
echo "정상적으로 저장되었습니다.<P>";
echo "<a href='./read.php3'>리스트보기</a>";
?>
read.php3
<body bgcolor=white> <P>
<font color=navy><a href=2insert.htm>방명록 쓰기 </a></font><P>
<?
$db=mysql_connect(“localhost",“dbxx",“dbxx");
mysql_select_db(“dbxx", $db);
// DB 에서 guest 테이블에서 레코드를 뽑는다.
$result=mysql_query("select * from guest", $db);
echo "방명록 읽기<P>";
// mysql_fetch_array 는 쿼리한 값을 배열에 저장 한다.
// 불려지면 값을 하나씩 증가 시키기 때문에 $row++ 이 필요없다.
while($row=mysql_fetch_array($result))
{ echo "이름:$row[name]<P>";
echo "내용:$row[content]<P>"; }
mysql_close($db);
?>
결과화면
http://mobile.ewha.ac.kr/~mysql/hoho/insert.htm
php에서 mysql을 제어 하는 루틴
1. mysql 서버에 연결 한다. mysql_connect();
2. mysql 안의 DB 를 선택 한다. mysql_select_db();
3. mysql 안의 DB 안에 테이블에서 퀴리를 수행한다. mysql_query();
( mysql DB의 테이블에서 입력,삭제 등 쿼리 수행 )
4. 퀴리 수행 한 것을 메모리에 저장 해 둔다. php 에서 사용할 수 있
도록 메모리에 저장
mysql_result() 나 mysql_fetch_array() 사용
5. echo 나 print 를 이용해서 가져온 값을 모니터에 표시
6. mysql 서버 연결을 종료한다. mysql_close() [메모리낭비방지]
Reference
http://www.toodul.net/ …투덜이php
http://php.linuxsystem.co.kr/ …php
bank
http://dblab.tnut.ac.kr/c_note/datafiles
/webdb/php.htm