adodb.inc.php 라는 라이브러리가 있긴한데 너무 무거워서 가볍게 만들었습니다.
function DBopen(&$conn){
$conn=new COM("ADODB.Connection");
$conn->Open($GLOBALS["strDB"]);
}
function RSopen(&$rs){
$rs=new COM("ADOR.Recordset");
$rs->CursorLocation=3;
}
function RSquery(&$conn,&$rs,&$query,$cache){
if($cache)$rs->cachesize=$cache;
$rs->open($query,$conn,0,1,1);
}
function DBClose(&$conn,&$rs){
$conn->Close();$rs=null;$conn=null;
}
function RSgetrows(&$rs){
$recordArr=array();
$k=$rs->Fields->Count;
for($i=0;!$rs->EOF;$rs->MoveNext(),$i++){
$fieldArr=array();
for($j=0;$j<$k;$j++){
$fieldArr[$j]=$rs[$j]->value;
}
$recordArr[$i]=$fieldArr;
unset($fieldArr);
}
return $recordArr;
}
function RSnextrecordset(&$rs){
$rs=$rs->nextRecordset();
}
$conn=null;$rs=null;
$strDB="디비연결문자열"
일단 위의 내용을 라이브러리나 템플릿에 넣어두시고 실제로는 아래와 같이 씁니다.
DBopen($conn);RSopen($rs);
$query='select subject from discuss with(nolock)';
RSquery($conn,$rs,$query,10);
$tmpArr=RSgetrows($rs);
$rs->Close();
DBClose($conn,$rs);
for($i=0,$j=count($tmpArr);$i<$j;$i++){
echo($tmpArr[$i][0]);
}
rs객체의 캐쉬와 다중레코드셋을 모두 지원하는 함수군으로 캐쉬는 RSquery함수의 마지막 인자로 지정하시면 됩니다. 다중레코드셋을 이동하는 함수는 RSnextrecordset입니다.
출처 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=45150&page=1
'IT_Programming > PHP' 카테고리의 다른 글
[GD] gif/jp(e)g/png 를 이용한 gd 버젼별 썸네일 생성 (0) | 2007.09.30 |
---|---|
가변적인 MYSQL 입력 자동화하기 (0) | 2007.09.30 |
UTF-8 일 때 한글 자르는 방법 (0) | 2007.09.30 |
페이지 자동 이동 방법 (0) | 2007.09.30 |
mysql 관련 함수 (0) | 2007.09.30 |