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