收藏本页 | 网站地图 | 投稿指南
 
 
当前位置:首页 >> 学院首页 >> 程序开发 >> PHP >>

PHP Access数据库操作类

放大字体  缩小字体  At: 2007-08-10 10:52  By: master8 转载 来源: 互联网
<?php

//使用范例:
//$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
;            
    }
}
?>






         









 
Google
论坛精华  
 
-->
 
  ©2005-2008 站长吧 Master8.NET All Rights Reserved 陕ICP备05010609号