며칠 전에 adodb를 다운로드하고 adodb를 사용하여 액세스 데이터베이스에 연결하려고 했는데, 연결이 가능했지만 왜 아무도 내 고민된 질문에 답변하지 않았는지 모르겠습니다. 지금까지는 PHP 자체의 ODBC를 사용하여 adodb.를 포기했지만 사용하기가 매우 불편하여 클래스에 캡슐화되지 않은 다음 함수를 작성했습니다. 같은 문제를 겪고 있는 친구들에게 도움이 되기를 바랍니다.
<?php
/*
*@액세스 클래스
* 레코드 삽입, 업데이트, 삭제
* 버전 1.0
* 날짜 2005.6
* 전원: Samsun Manzalo(34n Zhu Bajie)
* www.knowsky.com
*/
//=====================================
// 레코드 삽입
//레코드 삽입
//=====================================
함수 insRd($table,$field){
$connstr = "DRIVER=Microsoft Access 드라이버(*.mdb);DBQ=데이터베이스/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) 또는 die ("데이터베이스 연결 오류!");
$tmpA = 폭발(',',$field);
$ins = '';
for($i=0;$i<count($tmpA);$i++){
$ins.= "'".$_POST[$tmpA[$i]]."',";
}
$ins = substr($ins,0,-1);
$sql = "INSERT INTO ".$table." (".$field.") VALUES (".$ins.")";
//에코 $sql;exit;
$query = @odbc_do($connid,$sql);
}
//=====================================
//하나의 레코드 세부정보를 가져옵니다.
// 현재 레코드의 상세 정보를 가져옵니다.
//=====================================
함수 getInfo($table,$field,$id,$colnum){
$connstr = "DRIVER=Microsoft Access 드라이버(*.mdb);DBQ=데이터베이스/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) 또는 die ("데이터베이스 연결 오류!");
$sql = "".$table."에서 *를 선택합니다. 여기서 ".$field."=".$id;
$query = @odbc_do($connid,$sql);
if(odbc_fetch_row($query)){
for($i=0;$i<$colnum;$i++){
$info[$i] = odbc_result($query,$i+1);
}
}
$정보를 반환합니다.
}
//=====================================
//레코드 목록 가져오기
// 레코드 목록을 가져옵니다.
//=====================================
function getList($table,$field,$colnum,$condition,$sort="order by id desc"){
$connstr = "DRIVER=Microsoft Access 드라이버(*.mdb);DBQ=데이터베이스/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) 또는 die ("데이터베이스 연결 오류!");
$sql = "".$table."에서 *를 선택합니다. ".$condition." ".$sort;
$query = @odbc_do($connid,$sql);
//에코 $sql."<br>";
$i = 0;
while(odbc_fetch_row($query)){
$rdList[$i] = getInfo($table,$field,odbc_result($query,1),$colnum);
$i++;
}
$rdList를 반환합니다.
}
//=====================================
//레코드 목록 조건 가져오기
// 레코드 목록을 가져옵니다.
//=====================================
함수 getFieldList($table,$field,$fieldnum,$condition="",$sort=""){
$connstr = "DRIVER=Microsoft Access 드라이버(*.mdb);DBQ=데이터베이스/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) 또는 die ("데이터베이스 연결 오류!");
$sql = "".$table."에서 ".$field."를 선택합니다. ".$condition." ".$sort;
$query = @odbc_do($connid,$sql);
//에코 $sql."<br>";
$i = 0;
while(odbc_fetch_row($query)){
for($j=0;$j<$fieldnum;$j++){
$info[$j] = odbc_result($query,$j+1);
}
$rdList[$i] = $정보;
$i++;
}
$rdList를 반환합니다.
}
//=====================================
//기록 업데이트
//기록 업데이트
//=====================================
함수 updateInfo($table,$field,$id,$set){
$connstr = "DRIVER=Microsoft Access 드라이버(*.mdb);DBQ=데이터베이스/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) 또는 die ("데이터베이스 연결 오류!");
$sql = "".$table." 업데이트 ".$set." 여기서 ".$field."=".$id;
$query = @odbc_do($connid,$sql);
}
//=====================================
// 기록 삭제
// 기록 삭제
//=====================================
함수 delRd($table,$field,$id){
$connstr = "DRIVER=Microsoft Access 드라이버(*.mdb);DBQ=데이터베이스/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) 또는 die ("데이터베이스 연결 오류!");
$sql = "".$table."에서 삭제, 여기서 ".$field."=".$id;
$query = @odbc_do($connid,$sql);
}
//=====================================
// 기록 삭제 고양이
// 레코드 삭제(조건)
//=====================================
함수 delOrRd($table,$condition){
$connstr = "DRIVER=Microsoft Access 드라이버(*.mdb);DBQ=데이터베이스/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) 또는 die ("데이터베이스 연결 오류!");
$sql = "".$table."에서 삭제합니다. 여기서 ".$condition;
$query = @odbc_do($connid,$sql);
}
//=====================================
//카운트 레코드
// 레코드 수를 가져옵니다.
//=====================================
함수 countRd($table,$condition=""){
$connstr = "DRIVER=Microsoft Access 드라이버(*.mdb);DBQ=데이터베이스/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) 또는 die ("데이터베이스 연결 오류!");
$sql = "".$table"에서 count(*)를 num으로 선택합니다. ".$condition;
$query = @odbc_do($connid,$sql);
odbc_fetch_row($query);
$num = odbc_result($query,1);
$num을 반환합니다.
}
?>