一个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 相关文章推荐
Zend引擎的发展 [15]
Oct 09 PHP
php下过滤HTML代码的函数
Dec 10 PHP
fleaphp下不确定的多条件查询的巧妙解决方法
Sep 11 PHP
用PHP获取Google AJAX Search API 数据的代码
Mar 12 PHP
php下尝试使用GraphicsMagick的缩略图功能
Jan 01 PHP
ioncube_loader_win_5.2.dll的错误解决方法
Jan 04 PHP
浅谈COOKIE和SESSION区别
Jul 19 PHP
WordPress中邮件的一些修改和自定义技巧
Dec 15 PHP
php+ajax实现异步上传文件或图片功能
Jul 18 PHP
laravel5.2表单验证,并显示错误信息的实例
Sep 29 PHP
laravel dingo API返回自定义错误信息的实例
Sep 29 PHP
Laravel如何实现自动加载类
Oct 14 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学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
体育彩票排列三组选三算法分享
2014/03/07 PHP
PHP5.6新增加的可变函数参数用法分析
2017/08/25 PHP
HTML Dom与Css控制方法
2010/10/25 Javascript
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
脚本合并提升javascript性能示例
2014/02/24 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
使用NodeJs 开发微信公众号(三)微信事件交互实例
2016/03/02 NodeJs
Vuejs第六篇之Vuejs与form元素实例解析
2016/09/05 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
Vue数据双向绑定原理及简单实现方法
2018/05/18 Javascript
js中apply()和call()的区别与用法实例分析
2018/08/14 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
python ip正则式
2009/05/07 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
Django项目使用CircleCI的方法示例
2019/07/14 Python
Python Django中间件,中间件函数,全局异常处理操作示例
2019/11/08 Python
flask利用flask-wtf验证上传的文件的方法
2020/01/17 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
诗普兰迪官方网站:Splendid
2018/09/18 全球购物
英国最大的在线床超市:Bed Star
2019/01/24 全球购物
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
人力资源部经理岗位职责规定
2014/02/23 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
维稳工作承诺书
2015/01/20 职场文书
售票员岗位职责
2015/02/15 职场文书
2015年度团总支工作总结
2015/04/23 职场文书
Pandas-DataFrame知识点汇总
2022/03/16 Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
2022/08/14 Python