원본출처: http://php.lansystems.com/index.php?archive=mysql_connections.inc
번역일 : 2000/12/04
번역자 : 정재익 (advance@advance.sarang.net)

<? 
/* 
|- ---------------------------------------------------------- 
|-  Connecting to MySQL with PHP 
|-  Author:  Tre - tre@lansystems.com     
|-  Translator:  Advance - advance@advance.sarang.net
|-  Created: (11/30/2000)          (e)    
|- ---------------------------------------------------------- 
|-  Info:                                
|-        Example Script / Tutorial      
|-        Guidance via comments          
|-  Format:                              
|-        // Code Explanation 
|-        line_of_code(); 
|-  Req's: 
|-      
|-                                       
|- ---------------------------------------------------------- 
*/ 

/* 
 Scenario: 
          우리는 역시 PHP 에서 어떻게 MySQL 로 접근할 수 있는가를
          살펴보고자 한다.

          주의: 이 코드는 PHP 와 MySQL 인터페이스의 모든 부분을 다
                카바하고자 하는 것은 아니다. 단지 어떻게 database
                connection 을 하는가 하는 것을 이해 시키고자 하는 것
                일 뿐이다.
*/ 

// 먼저 PHP 의 mysql_connect() 함수를 이용하여 접속해 보자.
// 3개의 인자를 함수로 전달해 줘야 한다:
//   1. MySQL Server Hostname - 이것을 여러분들이 원격지 서버로 접근하지
//                              않는 한은 localhost 라고 적어 준다.
//   2. MySQL user name - db 로 접근할 수 있는 mysql 사용자의 이름.
//   3. MySQL user password - 상기 사용자의 password
// 
// 여러분들을 함수 이름 앞에 @ 를 사용하도록 한다.
// @ 표시는 디비로 접속이 되지 않았을 경우에 정상적으로 발생하는 에러 
// 메시지를 발생시키지 않도록 한다. 그리고 "or" 연산자는 접속이 되지 않은
// 경우 die() 함수를 이용해서 스크립트가 종료되도록 만들어 준다.
@mysql_connect("localhost", "username", "password") or die("Could not connect to Mysql"); 

// 여기서 내가 한가지 언급하고자 하는 것은 MySQL 에러 메시지는 
// mysql_error() 함수와 mysql_errno 함수를 사용하여 알 수 있다는 것이다. 
echo mysql_errno() . ": " . mysql_error(); 

// 다음으로 할 것은 취급하고자 하는 자료를 데이터베이스로 부터 추출하고 select
// 해 내는 것이다. 이것을 하기 위해서 PHP 함수 mysql_select_db 를 사용해야 한다.
// 여기에는 인자료서 database 이름만 전달해 주면 된다. 여기서도 에러 메시지를
// 억제하기 위해서 "@"를 사용하고, 에러가 발생한 경우를 대비해서 die() 함수를 호출
// 하기 위해서 "or" 연산자를 이용한다.
// 위에서와 유사하게 우리는 실제 MySQL 에러를 출력하기 위해서 또다른 connection 을
// 이용할 수도 있다.
@mysql_select_db("dbname") or die("Could not connect to MySQL Database"); 

// 이제 원하는 자료를 추출해 내기 위한 준비는 끝났다. 자료를 추출하기 위한 방법은
// 몇가지가 있다. 그리고 그들은 데이터베이스 테이블로 부터 자료를 가져 오는 방법이
// 매우 상이하다. 먼저 우리는 단순히 테이블로 부터 모든 데이터를 가져오는 방법을
// 사용할 것이다.
$result = @mysql_query("select * from tablename"); 

// 여기서, 우리는 모든 자료를 가져와서 $result 내로 데이터를 넣어 둔것이다.
// 이제 loop 를 이용해서 결과들을 처리할 수 잇다. while loop 를 이용해서 이들을 echo
// 시켜 보자.
// while loop 를 이용해서 associative array, $row_info 를 만들어 보자.
// 이것은 우리들에게 각각의 column entry 로 접근 할 수 있도록 해준다.
// 이 경우에, 우리는 데이터베이스 테이블이 2개의 column 을 가진다고 가정하자.
// 첫번째 컬럼은 name 이라는 것이고, 두번째는 email 이라고 가정하자.
while ($row_info = @mysql_fetch_array($result)) { 

 // 여기서 우리는 associative array 로 부터 2개의 변수를 만들자.
 $user_email = $row_info["name"]; 
 $user_name = $row_info["email"]; 

 // Finally, we echo the output.  
 echo "Name: $user_name | Email: $user_email\n<br>"; 

} 

// 자료를 저장하는 또다른 방법은 자료를 ID 번호 별로 저장하는 것이다.
// 만약 우리가 특정 ID 로 저장된 정보만을 뽑아 내기를 원한다면, 우리는 MySQL 질의를
// 다음과 같은 형식으로 할수 있다:
//         select * from tablename where columnname='ID' 
// 이 예문은 하나의 결과만을 찾아서 돌려 줄것으로 기대할 것이다.
// 그래서 우리는 이 질의문에 limit 1 이라는 구문을 추가해 준다.
$result = @mysql_query("select * from tablename where columnname='ID' limit 1"); 

// 이 데이터베이스 테이블 역시 2개의 컬럼만을 가지고 있다고 가정하자.
// Column 1 은 ID 이고 column 2는 name 이라고 가정하자. 여기서 우리는 오로지
// 하나의 결과만을 받게 될 것이므로 loop 를 돌릴 필요가 없다.
$id = @mysql_result($result,0,"id"); 
$name = @mysql_result($result,0,"name"); 

// 나는 여러분들이 MySQL 질의로 부터 돌아오는 여러개의 결과를 보기 위해서 어떻게
// 해야 하는 가를 보여주고자 했다. 이를 위해서는 질의 결과 몇개의 자료가 돌아 왔는지
// 알 필요가 있다. 일반적으로 이를 위해서 mysql_num_rows() 함수를 이용하게 된다.
$row = @mysql_num_rows($result); 

// 마지막으로 작업이 끝난 경우에는 데이터베이스 link 를 닫아 줘야 한다.
// 이때 mysql_close() 함수를 이용하게 된다.
@mysql_close($db); 

// End Script 
/* 
|- ---------------------------------------------------------- 
|-  (e) and all documents created "under" the  
|-    symbol are Copyleft Tre Harmon 1998+       
|- ---------------------------------------------------------- 
|-  What is Copyleft?                    
|-        http://gnu.org/copyleft/copyleft.html 
|-                                       
|-  Code Mirrors:                        
|-        http://php.lansystems.com 
|-                                       
|-  Feel free to edit or mirror...        
|- ---------------------------------------------------------- 
*/ 
?>