« 解决IE6.0、IE5.0、IE5.5差异全攻略 PHP通用检测函数集 »

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

PHP操作Access类(PHP+ODBC+Access),Access数据库操作类。

<?php
< ?
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;           
    
}
    
}
 
</count>
?>

回复留言

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-Spam Image

你可以使用XHTML标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>