一个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 将bmp图片转为jpg等其他任意格式的图片
Jun 21 PHP
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
Sep 30 PHP
PHP实现今天是星期几的几种写法
Sep 26 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
Oct 22 PHP
PHP5.2下preg_replace函数的问题
May 08 PHP
Laravel中Trait的用法实例详解
Mar 16 PHP
PHP生成图像验证码的方法小结(2种方法)
Jul 18 PHP
PHP MYSQL简易交互式站点开发
Dec 27 PHP
CodeIgniter框架验证码类库文件与用法示例
Mar 18 PHP
Yii 2中的load()和save()示例详解
Aug 03 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
Feb 14 PHP
PHP中类与对象功能、用法实例解读
Mar 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
PHP中set error handler函数用法小结
2015/11/11 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
PHP的Trait机制原理与用法分析
2019/10/18 PHP
JS event使用方法详解
2008/04/28 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
JS根据生日月份和日期计算星座的简单实现方法
2016/11/24 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
angularjs实现时间轴效果的示例代码
2017/11/29 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
vue使用require.context实现动态注册路由
2020/12/25 Vue.js
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
django的ORM操作 删除和编辑实现详解
2019/07/24 Python
Python 使用多属性来进行排序
2019/09/01 Python
Python time库基本使用方法分析
2019/12/13 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
2020/03/09 Python
PyQt5事件处理之定时在控件上显示信息的代码
2020/03/25 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
公司业务主管岗位职责
2013/12/07 职场文书
《新型玻璃》教学反思
2014/04/13 职场文书
模范班主任事迹材料
2014/12/17 职场文书
安全生产先进个人事迹材料
2014/12/30 职场文书
百年孤独读书笔记
2015/06/29 职场文书
企业法律事务工作总结
2015/08/11 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS