Home  >  Article  >  Backend Development  >  php+odbc+access database operation function, tested under windows_PHP tutorial

php+odbc+access database operation function, tested under windows_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:34:571070browse

    前些天下载了adodb,想用adodb连access数据库,后来连是连上了,不过不能更新和插入记录,也不知道为什么到现在还没人给我回答那个苦恼的问题,后来就放弃了adodb,使用php自己的odbc,但是使用很不方便,就写下了下面这些函数,还没有封装成类,希望能够为有同样问题的朋友一些帮助

/*
 * @ access class
 * insert,update,delete record
 * version 1.0
 * date 2005.6
 * power by Samsun Manzalo (34n 猪八戒)
 * www.knowsky.com
 */

//====================================
// insert record
// 插入记录
//====================================
function insRd($table,$field){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("数据库连接错误!");
$tmpA = explode(,,$field);
$ins = ;
for($i=0;$i $ins.= "".$_POST[$tmpA[$i]].",";
}
$ins = substr($ins,0,-1);
$sql = "INSERT INTO ".$table." (".$field.") VALUES (".$ins.")";
//echo $sql;exit;
$query = @odbc_do($connid,$sql);
}


//====================================
// get one record detail
// 取得当条记录详细信息
//====================================
function getInfo($table,$field,$id,$colnum){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("数据库连接错误!");
$sql = "select * from ".$table." where ".$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);
}
}
return $info;
}


//====================================
// get record list
// 取得记录列表
//====================================
function getList($table,$field,$colnum,$condition,$sort="order by id desc"){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("数据库连接错误!");
$sql = "select * from ".$table." ".$condition." ".$sort;
$query = @odbc_do($connid,$sql);
//echo $sql."
";
 $i  = 0;
 while(odbc_fetch_row($query)){
  $rdList[$i] = getInfo($table,$field,odbc_result($query,1),$colnum);
  $i++;
 }
 return $rdList;
}


//====================================
// get record list condition
// 取得记录列表
//====================================
function getFieldList($table,$field,$fieldnum,$condition="",$sort=""){
 $connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
 $connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("数据库连接错误!");
 $sql = "select ".$field." from ".$table." ".$condition." ".$sort;
 $query  = @odbc_do($connid,$sql);
 //echo $sql."
";
 $i  = 0;
 while(odbc_fetch_row($query)){
  for($j=0;$j<$fieldnum;$j++){
$info[$j] = odbc_result($query,$j+1);
}
$rdList[$i] = $info;
$i++;
}
return $rdList;
}

//====================================
// update record
// 更新记录
//====================================
function updateInfo($table,$field,$id,$set){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("数据库连接错误!");
$sql = "update ".$table." set ".$set." where ".$field."=".$id;
$query = @odbc_do($connid,$sql);
}


//====================================
// record delete
// 删除记录
//====================================
function delRd($table,$field,$id){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("数据库连接错误!");
$sql = "delete from ".$table." where ".$field."=".$id;
$query = @odbc_do($connid,$sql);
}


//======================================
// record delete cat
//Delete record (condition)
//================================== ===
function delOrRd($table,$condition){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @ odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("Database connection error!");
$sql = "delete from ".$table." where ".$condition;
$query = @odbc_do($connid,$sql);
}


//======================================
// count record
//Get the number of records
//======================================
function countRd($table,$condition=""){
$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
$connid = @ odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("Database connection error!");
$sql = "select count(*) as num from ".$table." ".$condition;
$query = @odbc_do($connid,$sql);
odbc_fetch_row($query);
$num = odbc_result($query,1);
return $num;
}

?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/508382.htmlTechArticleI downloaded adodb a few days ago and wanted to use adodb to connect to the access database. Later, I was connected, but I couldn't update. And insert records, I don’t know why no one has answered my troubled question until now...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn