TaoGOGO的技术博客,始于2007年,通过文字分享技术、记录生活

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

2009-05-12

最近接了一个网站使用的是PHP+Access,汗,以前从来没有用php+Access做过,参考别人写的access函数,自己加入了一些其他的功能,封装为一个类,感觉调用蛮方便的,虽然没有测试过,但是感觉PHP+Access的速度没有PHP+MySQL速度快。
代码如下: 
 

--------------------------------------------------------------------

//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(‘,‘,$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;
}
}
?>

 

 

类别: | 阅读:111013 | 评论:0 | 标签:

想收藏或者和大家分享这篇好文章→

“PHP操作Access类(PHP+ODBC+Access)”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

҉百度内部推荐,高级研发/PM(需2年以上工作经验)。
有意者微博私信联系~

微博言语

文章分类