2012-03-27
최근 필자가 PEAR 클래스로 DB에서 정보를 뽑아오곤 하는데, 은근히 기억이 안나곤 해서.. 여기에 포스팅 해둔다.

우선 PEAR DB 관련 정식 메뉴얼은 아래와 같다.
링크 : http://pear.php.net/manual/en/package.database.db.php

DB::connect( $ds ) // 해당 DB에 접속하는 함수
$ds : phptype(dbsyntax)://username:password@protocol+hostspec/database
필자의 경우: mysql://${유저ID}:${유저PW}@${HOST이름}/${DB이름} 가 된다.

DB::getOne( $query ) // 해당 쿼리로 부터 최초의 행의 최초의 컬럼값을 가져온다.
필자의 경우
$conn = DB::connect( $ds );
$one = $conn->getOne( $query ); 
식으로 사용한다.

DB::getRow($query, array(), DB_FETCHMODE_ASSOC) // 쿼리로부터 최초의 행만 가져온다.
필자의 경우
$arr = $conn->getRow($query, array(), DB_FETCHMODE_ASSOC);
식으로 쓰며 해당 $arr에는 한행의 값이 배열로 저장된다.

DB::query( $query ) // 해당 DB로 쿼리를 전송한다.
DB_Result::fetchRow(DB_FETCHMODE_ASSOC) // mysql_fetch_array() 함수처럼 쓸수 있다.
DB::isError() // 어떤 에러인가를 확인한다.
DB::getMessage() // 에러메세지를 리턴한다.
위의 4가지는 보통 함께 쓰게 되기 때문에 필자의 경우
$result= $conn->query( $query );
if(DB::isError($result)) die($result->getMessage());
while($data = $result->fetchRow(DB_FETCHMODE_ASSOC))  { }
의 식으로 쓰곤 한다.

위의 것들은 순전히 필자만의 방식이기 때문에, 다른방식이나, 더 자세한 옵션들에 대해서 알고 싶다면, 위의 메뉴얼을 참조 하길 바란다.