php+odbc+access 数据库操作函数,在windows下测试通过

王朝php·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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

<?php

/*

* @ access class

* insert,update,delete record

* version 1.0

* date 2005.6

* power by Samsun Manzalo (34n 猪八戒)

*/

//========================================================================================================================

// 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<count($tmpA);$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."<br>";

$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;

}

?>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有