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

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

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

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