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