一个PHP操作Access类(PHP+ODBC+Access)


Posted in PHP onJanuary 02, 2007
<?php 
-------------------------------------------------------------------- 
//FileName:class.php 
//Summary: Access数据库操作类 
//Author:  forest 
//CreateTime: 2006-8-10      
//LastModifed: 
//copyright (c)2006 freeweb.nyist.net/~chairy  [email]chaizuxue@163.com[/email] 
//   使用范例: 
//$databasepath="database.mdb"; 
//$dbusername=""; 
//$dbpassword=""; 
//include_once("class.php"); 
//$access=new Access($databasepath,$dbusername,$dbpassword); 
-------------------------------------------------------------------- 
    class Access 
    { 
         var $databasepath,$constr,$dbusername,$dbpassword,$link; 
         function Access($databasepath,$dbusername,$dbpassword) 
         { 
               $this->databasepath=$databasepath; 
        $this->username=$dbusername; 
        $this->password=$dbpassword; 
        $this->connect(); 
          } 
    function connect() 
    { 
        $this->constr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath($this->databasepath);  
        $this->link=odbc_connect($this->constr,$this->username,$this->password,SQL_CUR_USE_ODBC); 
        return $this->link; 
        //if($this->link) echo "恭喜你,数据库连接成功!"; 
        //else echo "数据库连接失败!"; 
    } 
    function query($sql) 
    { 
        return @odbc_exec($this->link,$sql); 
    } 
    function first_array($sql) 
    { 
        return odbc_fetch_array($this->query($sql)); 
    } 
    function fetch_row($query) 
    { 
        return odbc_fetch_row($query); 
    } 
    function total_num($sql)//取得记录总数 
    { 
        return odbc_num_rows($this->query($sql)); 
    } 
    function close()//关闭数据库连接函数 
    {     
        odbc_close($this->link); 
    } 
    function insert($table,$field)//插入记录函数 
    { 
        $temp=explode(',',$field); 
        $ins=''; 
        for ($i=0;$i<count($temp);$i++) 
        { 
            $ins.="'".$_POST[$temp[$i]]."',"; 
        } 
        $ins=substr($ins,0,-1); 
        $sql="INSERT INTO ".$table." (".$field.") VALUES (".$ins.")"; 
        $this->query($sql); 
    } 
    function getinfo($table,$field,$id,$colnum)//取得当条记录详细信息 
    { 
        $sql="SELECT * FROM ".$table." WHERE ".$field."=".$id.""; 
        $query=$this->query($sql); 
        if($this->fetch_row($query)) 
        { 
            for ($i=1;$i<$colnum;$i++) 
            { 
          $info[$i]=odbc_result($query,$i); 
             } 
         } 
         return $info; 
    } 
    function getlist($table,$field,$colnum,$condition,$sort="ORDER BY id DESC")//取得记录列表     
    { 
         $sql="SELECT * FROM ".$table." ".$condition." ".$sort; 
         $query=$this->query($sql); 
         $i=0; 
         while ($this->fetch_row($query))  
         { 
        $recordlist[$i]=getinfo($table,$field,odbc_result($query,1),$colnum); 
        $i++; 
          } 
          return $recordlist; 
    } 
    function getfieldlist($table,$field,$fieldnum,$condition="",$sort="")//取得记录列表 
    { 
         $sql="SELECT ".$field." FROM ".$table." ".$condition." ".$sort; 
         $query=$this->query($sql); 
         $i=0; 
         while ($this->fetch_row($query))  
         { 
         for ($j=0;$j<$fieldnum;$j++) 
        { 
                   $info[$j]=odbc_result($query,$j+1); 
        }     
        $rdlist[$i]=$info; 
        $i++; 
         } 
         return $rdlist; 
    } 
    function updateinfo($table,$field,$id,$set)//更新记录 
    { 
        $sql="UPDATE ".$table." SET ".$set." WHERE ".$field."=".$id; 
        $this->query($sql); 
    } 
    function deleteinfo($table,$field,$id)//删除记录 
    { 
         $sql="DELETE FROM ".$table." WHERE ".$field."=".$id; 
         $this->query($sql); 
    } 
    function deleterecord($table,$condition)//删除指定条件的记录 
    { 
         $sql="DELETE FROM ".$table." WHERE ".$condition; 
         $this->query($sql); 
    } 
    function getcondrecord($table,$condition="")// 取得指定条件的记录数 
    { 
         $sql="SELECT COUNT(*) AS num FROM ".$table." ".$condition; 
         $query=$this->query($sql); 
         $this->fetch_row($query); 
         $num=odbc_result($query,1); 
         return $num;             
    } 
     } 
?>  
 
PHP 相关文章推荐
php+dbfile开发小型留言本
Oct 09 PHP
十天学会php之第三天
Oct 09 PHP
怎样在PHP中通过ADO调用Asscess数据库和COM程序
Oct 09 PHP
php中magic_quotes_gpc对unserialize的影响分析
Dec 16 PHP
js+php实现静态页面实时调用用户登陆状态的方法
Jan 04 PHP
php结合curl实现多线程抓取
Jul 09 PHP
php商品对比功能代码分享
Sep 24 PHP
PHP定时任务获取微信access_token的方法
Oct 10 PHP
CI框架AR数据库操作常用函数总结
Nov 21 PHP
php+mysql实现简单登录注册修改密码网页
Nov 30 PHP
详解Yii2.0 rules验证规则集合
Mar 21 PHP
PHP实现的常规正则验证helper公共类完整实例
Apr 27 PHP
一个用php实现的获取URL信息的类
Jan 02 #PHP
PHP 和 MySQL 开发的 8 个技巧
Jan 02 #PHP
Smarty结合Ajax实现无刷新留言本实例
Jan 02 #PHP
Ajax PHP分页演示
Jan 02 #PHP
windows下PHP APACHE MYSQ完整配置
Jan 02 #PHP
PHP Ajax实现页面无刷新发表评论
Jan 02 #PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
Jan 02 #PHP
You might like
一首老MP3,致敬WAR3经典
2021/03/08 魔兽争霸
php递归列出所有文件和目录的代码
2008/09/10 PHP
php性能优化分析工具XDebug 大型网站调试工具
2011/05/22 PHP
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
CI框架给视图添加动态数据
2014/12/01 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
JQuery最佳实践之精妙的自定义事件
2010/08/11 Javascript
jQuery中bind与live的用法及区别小结
2014/01/27 Javascript
jQuery中triggerHandler()方法用法实例
2015/01/19 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
tensorflow输出权重值和偏差的方法
2018/02/10 Python
PyQt5实现下载进度条效果
2018/04/19 Python
基于Python3.6+splinter实现自动抢火车票
2018/09/25 Python
解决Python下json.loads()中文字符出错的问题
2018/12/19 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
tensorflow 实现数据类型转换
2020/02/17 Python
Python模拟登入的N种方式(建议收藏)
2020/05/31 Python
python 模拟登陆163邮箱
2020/12/15 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
小学生新学期寄语
2014/01/19 职场文书
学校消防安全制度
2014/01/30 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
2015年大学生实习评语
2015/03/25 职场文书
2015年酒店工作总结范文
2015/04/07 职场文书
教学督导岗位职责
2015/04/10 职场文书
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS