当前位置: 移动技术网 > IT编程>开发语言>PHP > 一个PHP操作Access类(PHP+ODBC+Access)

一个PHP操作Access类(PHP+ODBC+Access)

2019年06月08日  | 移动技术网IT编程  | 我要评论
复制代码 代码如下:


<?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;            
    }
     }
?>  

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网