前些天下载了adodb,想用adodb连access数据库,后来连是连上了,不过不能更新和插入记录,也不知道为什么到现在还没人给我回答那个苦恼的问题,后来就放弃了adodb,使用php自己的odbc,但是使用很不方便,就写下了下面这些函数,还没有封装成类,希望能够为有同样问题的朋友一些帮助
1
2/*
3* @ access class
4* insert,update,delete record
5* version 1.0
6* date 2005.6
7* power by Samsun Manzalo (34n 猪八戒)
8* www.knowsky.com
9*/
10
11//====================================
12// insert record
13// 插入记录
14//====================================
15function insRd($table,$field){
16$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb";
17$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("数据库连接错误!");
18$tmpA = explode(',',$field);
19$ins = '';
20for($i=0;$i
<count($tmpa);$i++){ ".$condition."="" ".$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=" ".$sort;="" $connid='@odbc_connect($connstr,"","",SQL_CUR_USE_ODBC' $connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=database/email.mdb" $ins="substr($ins,0,-1);" $ins.="'" $query="@odbc_do($connid,$sql);" $sql="select * from " $sql."<br="" $sql;exit;="" (".$field.")="" (".$ins.")";="" ("数据库连接错误!");="" )="" .$_post[$tmpa[$i]]."',";="" .$table."="" ;="" =="function" by="" desc"){="" detail="" die="" echo="" get="" getinfo($table,$field,$id,$colnum){="" id="" one="" or="" order="" record="" values="" where="" }="" 取得当条记录详细信息="">";
$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."<br/>";
$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
// 删除记录(条件)
//====================================
function delOrRd($table,$condition){
$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 ".$condition;
$query = @odbc_do($connid,$sql);
}
//====================================
// count record
// 取得记录数
//====================================
function countRd($table,$condition=""){
$connstr = "DRIVER=Microsoft Access Driver (.mdb);DBQ=database/email.mdb";
$connid = @odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("数据库连接错误!");
$sql = "select count() as num from ".$table." ".$condition;
$query = @odbc_do($connid,$sql);
odbc_fetch_row($query);
$num = odbc_result($query,1);
return $num;
}