查看: 4866|回复: 0
打印 上一主题 下一主题

php+odbc+access数据库操作函数

[复制链接]
跳转到指定楼层
1#
发表于 2007-10-4 19:48:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
前些天下载了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;
  }
   
  ?>
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表