当前位置: 首页 > 图文教程 > 网络编程 > PHP > php操作access数据库类代码

PHP
include()与require()的对比
php和asp对象的等价关系
PHP, JScript 和 VBScript 函数和类的语法
PHP:MVC迷思
PHP脚本的8个技巧(1)
PHP脚本的8个技巧(2)
PHP脚本的8个技巧(3)
PHP脚本的8个技巧(4)
PHP脚本的8个技巧(5)
PHP脚本的8个技巧(6)
PHP脚本的8个技巧(7)
PHP脚本的8个技巧(8)
PHP教程.经验技巧(上)
递归列出所有文件和目录
PHP的历史和优缺点
PHP下MAIL的另一解决方案
PHP文本数据库的搜索方法
PHP调用三种数据库的方法(1)
PHP调用三种数据库的方法(2)
PHP调用三种数据库的方法(3)

PHP 中的 php操作access数据库类代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 73 ::
收藏到网摘: n/a

以下为引用的内容:
<?php
    class Access//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)//从access数据库中返回一个数组
        {
            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;           
        }
    }
?>