当前位置: 首页 > 图文教程 > 网络编程 > PHP > php+odbc+access数据库操作函数,在windows下测试通过

PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
GBK的页面输出JSON格式的php函数
在字符串指定位置插入一段字符串的php代码
php 数组二分法查找函数代码
php htmlspecialchars加强版
支持数组的ADDSLASHES的php函数
判断是否为指定长度内字符串的php函数
php 读取文件乱码问题
PHP+ajax 无刷新删除数据
php microtime获取浮点的时间戳
php 魔术函数使用说明
php 高效率写法 推荐
PHP 学习路线与时间表
php中理解print EOT分界符和echo EOT的用法区别小结
Search File Contents PHP 搜索目录文本内容的代码
收藏的PHP常用函数 推荐收藏保存
PHP 伪静态隐藏传递参数名的四种方法
PHP实现域名whois查询的代码(数据源万网、新网)
php 用checkbox一次性删除多条记录的方法
php str_pad() 将字符串填充成指定长度的字符串

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 295 ::
收藏到网摘: n/a

 

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

<?php
/*
 * @ 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<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){
 $conn"