<p> 最近接了一个网站使用的是PHP+Access,汗,以前从来没有用php+Access做过,参考别人写的access函数,自己加入了一些其他的功能,封装为一个类,感觉调用蛮方便的,虽然没有测试过,但是感觉PHP+Access的速度没有PHP+MySQL速度快。</p><code><?php<br />--------------------------------------------------------------------<br />//FileName:class.php<br />//Summary:Access数据库操作类<br />//Author: forest<br />//CreateTime:2006-8-10 <br />//LastModifed:<br />//copyright(c)2006freeweb.nyist.net/~chairy [email]chaizuxue@163.com[/email]<br />// 使用范例:<br />//$databasepath="database.mdb";<br />//$dbusername="";<br />//$dbpassword="";<br />//include_once("class.php");<br />//$access=newAccess($databasepath,$dbusername,$dbpassword);<br />--------------------------------------------------------------------<br /> classAccess<br /> {<br /> var$databasepath,$constr,$dbusername,$dbpassword,$link;<br /> functionAccess($databasepath,$dbusername,$dbpassword)<br /> {<br /> $this->databasepath=$databasepath;<br /> $this->username=$dbusername;<br /> $this->password=$dbpassword;<br /> $this->connect();<br /> }<br /> <br /> functionconnect()<br /> {<br /> $this->constr="DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ=".realpath($this->databasepath);<br /> $this->link=odbc_connect($this->constr,$this->username,$this->password,SQL_CUR_USE_ODBC);<br /> return$this->link;<br /> //if($this->link)echo"恭喜你,数据库连接成功!";<br /> //elseecho"数据库连接失败!";<br /> }<br /> <br /> functionquery($sql)<br /> {<br /> return@odbc_exec($this->link,$sql);<br /> }<br /> <br /> functionfirst_array($sql)<br /> {<br /> returnodbc_fetch_array($this->query($sql));<br /> }<br /> <br /> functionfetch_row($query)<br /> {<br /> returnodbc_fetch_row($query);<br /> }<br /> <br /> functiontotal_num($sql)//取得记录总数<br /> {<br /> returnodbc_num_rows($this->query($sql));<br /> }<br /> <br /> functionclose()//关闭数据库连接函数<br /> { <br /> odbc_close($this->link);<br /> }<br /> <br /> functioninsert($table,$field)//插入记录函数<br /> {<br /> $temp=explode(',',$field);<br /> $ins='';<br /> for($i=0;$i<count($temp);$i++)<br /> {<br /> $ins.="'".$_POST[$temp[$i]]."',";<br /> }<br /> $ins=substr($ins,0,-1);<br /> $sql="INSERTINTO".$table."(".$field.")VALUES(".$ins.")";<br /> $this->query($sql);<br /> }<br /> <br /> functiongetinfo($table,$field,$id,$colnum)//取得当条记录详细信息<br /> {<br /> $sql="SELECT*FROM".$table."WHERE".$field."=".$id."";<br /> $query=$this->query($sql);<br /> if($this->fetch_row($query))<br /> {<br /> for($i=1;$i<$colnum;$i++)<br /> {<br /> $info[$i]=odbc_result($query,$i);<br /> }<br /> }<br /> return$info;<br /> }<br /> <br /> functiongetlist($table,$field,$colnum,$condition,$sort="ORDERBYidDESC")//取得记录列表 <br /> {<br /> $sql="SELECT*FROM".$table."".$condition."".$sort;<br /> $query=$this->query($sql);<br /> $i=0;<br /> while($this->fetch_row($query))<br /> {<br /> $recordlist[$i]=getinfo($table,$field,odbc_result($query,1),$colnum);<br /> $i++;<br /> }<br /> return$recordlist;<br /> }<br /> <br /> functiongetfieldlist($table,$field,$fieldnum,$condition="",$sort="")//取得记录列表<br /> {<br /> $sql="SELECT".$field."FROM".$table."".$condition."".$sort;<br /> $query=$this->query($sql);<br /> $i=0;<br /> while($this->fetch_row($query))<br /> {<br /> for($j=0;$j<$fieldnum;$j++)<br /> {<br /> $info[$j]=odbc_result($query,$j+1);<br /> } <br /> $rdlist[$i]=$info;<br /> $i++;<br /> }<br /> return$rdlist;<br /> }<br /> <br /> functionupdateinfo($table,$field,$id,$set)//更新记录<br /> {<br /> $sql="UPDATE".$table."SET".$set."WHERE".$field."=".$id;<br /> $this->query($sql);<br /> }<br /> <br /> functiondeleteinfo($table,$field,$id)//删除记录<br /> {<br /> $sql="DELETEFROM".$table."WHERE".$field."=".$id;<br /> $this->query($sql);<br /> }<br /> <br /> functiondeleterecord($table,$condition)//删除指定条件的记录<br /> {<br /> $sql="DELETEFROM".$table."WHERE".$condition;<br /> $this->query($sql);<br /> }<br /> <br /> functiongetcondrecord($table,$condition="")//取得指定条件的记录数<br /> {<br /> $sql="SELECTCOUNT(*)ASnumFROM".$table."".$condition;<br /> $query=$this->query($sql);<br /> $this->fetch_row($query);<br /> $num=odbc_result($query,1);<br /> return$num; <br /> }<br /> }<br />?></code></p>