首页  >  文章  >  后端开发  >  php的access操作类实例代码

php的access操作类实例代码

怪我咯
怪我咯原创
2017-07-14 10:29:372208浏览

 Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。

Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软OFFICE的一个成员, 在包括专业版和更高版本的office版本里面被单独出售。2012年12月4日,最新的微软Office Access 2016在微软Office 2016里发布,微软Office Access 2013 是前一个版本。

MS ACCESS以它自己的格式将数据存储在基于Access Jet的数据库引擎里。它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库)。

软件开发人员和数据架构师可以使用Microsoft Access开发应用软件,“高级用户”可以使用它来构建软件应用程序。和其他办公应用程序一样,ACCESS支持Visual Basic宏语言,它是一个面向对象编程语言,可以引用各种对象,包括DAO(数据访问对象),ActiveX数据对象,以及许多其他的ActiveX组件。可视对象用于显示表和报表,他们的方法和属性是在VBA编程环境下,VBA代码模块可以声明和调用Windows操作系统函数。

这篇文章主要介绍会用Access数据库操作类实现代码,代码如下:

<?php     
--------------------------------------------------------------------     
//FileName:class.php     
//Summary: Access数据库操作类     
//Author:  forest     
//CreateTime: 2006-8-10          
//LastModifed:     
//copyright (c)2006      
//http://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(&#39;,&#39;,$field);     
        $ins=&#39;&#39;;     
        for ($i=0;$i<count($temp);$i++)     
        {     
            $ins.="&#39;".$_POST[$temp[$i]]."&#39;,";     
        }     
        $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的access操作类实例代码的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn