一个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 Studio for Eclipse的java.lang.NullPointerException错误的解决方法
Dec 06 PHP
PHP输出数组中重名的元素的几种处理方法
Sep 05 PHP
php中curl和file_get_content的区别
May 10 PHP
30个php操作redis常用方法代码例子
Jul 05 PHP
php利用cookie实现自动登录的方法
Dec 10 PHP
PHP CodeIgniter框架的工作原理研究
Mar 30 PHP
一个简单至极的PHP缓存类代码
Oct 23 PHP
PHP生成短网址方法汇总
Jul 12 PHP
Zend Framework校验器Zend_Validate用法详解
Dec 09 PHP
PHP检测一个数组有没有定义的方法步骤
Jul 20 PHP
YII2框架中查询生成器Query()的使用方法示例
Mar 18 PHP
PHP7 windows支持
Mar 09 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实现小型站点广告管理(修正版)
2006/10/09 PHP
我的论坛源代码(八)
2006/10/09 PHP
PHP array 的加法操作代码
2010/07/24 PHP
PHP得到mssql的存储过程的输出参数功能实现
2012/11/23 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
Yii2框架数据库简单的增删改查语法小结
2016/08/31 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
PHP实现QQ登录的开原理和实现过程
2018/02/04 PHP
用js判断是否为360浏览器的实现代码
2015/01/15 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
Bootstrap选项卡与Masonry插件的完美结合
2016/07/06 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
Django自定义分页效果
2017/06/27 Python
Python实现时间序列可视化的方法
2019/08/06 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
2018/09/10 HTML / CSS
澳大利亚首个在线预订旅游网站:Wotif
2017/07/19 全球购物
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
FC-Moto西班牙:摩托车手最大的购物场所之一
2019/04/11 全球购物
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
Oral-B荷兰:牙医最推荐的品牌
2020/02/25 全球购物
预备党员思想汇报范文
2013/12/29 职场文书
垃圾桶标语
2014/06/24 职场文书
英语教师个人工作总结
2015/02/09 职场文书
物业客服专员岗位职责
2015/04/07 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书
信息技术研修心得体会
2016/01/08 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL
python中的getter与setter你了解吗
2022/03/24 Python