응용개발

cubrid_fetch_all() php 함수로 만들어 사용하기

by 시난 posted Jun 30, 2009

php cubrid_extension 모듈을 컴파일 하지 않고 다음과 같은 방법으로도 간단히 만들어 쓸 수 있다.
(참고: CUBRID PHP 함수 cubrid_fetch_all 추가하기: http://www.cubrid.com/zbxe/bbs_developer_tutorial/46530 )

function cubrid_fetch_all($con, $sql, $params)
{
    $rows = array();

    // 바인딩
    $req = cubrid_prepare($con, $sql);
    $i = 1;
     foreach ($params as &$p) {
          $res = cubrid_bind($req, $i++, $p);
     }

     // 실행
     $res = cubrid_execute($req);
     while($row = cubrid_fetch($req)) {
          $rows[] = $row;
     }
 
     // 메모리 해제
     if ($req && $req > 0) {
          cubrid_close_request($req);
          $req = null;
     }
     
    return $rows;
}



사용 예는 다음과 같다.

 // 커넥션 열기
$con = cubrid_connect ("127.0.0.1", 33000, "demodb", "dba");

if ($con) { 

 // 실행할 쿼리와 바인딩할 파라미터
 $sql = "select * from history where host_year = ? and rownum between ? and ?";
 $params = array(2004, 1, 10);
 
 // cubrid_fetch_all() 실행
 $rows = cubrid_fetch_all($con, $sql, $params);
 foreach ($rows as &$row) {
  echo "athlete, score: $row[athlete], $row[score] <br />";
 }

 // 커넥션 닫기
 cubrid_disconnect ($con);
} else {
 echo "connection failed. <br/>";
}




TAG •

Articles

1 2 3