PHP封装操作数据库类

PHP封装操作数据库类

ID:37713385

大小:37.50 KB

页数:7页

时间:2019-05-29

上传者:U-2437
PHP封装操作数据库类_第1页
PHP封装操作数据库类_第2页
PHP封装操作数据库类_第3页
PHP封装操作数据库类_第4页
PHP封装操作数据库类_第5页
资源描述:

《PHP封装操作数据库类》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

PHP封装操作数据库类我们在网站开发时比较合理的做法就是我们的常用的一些程序做成函数或封闭成类,这样可以重复利用,可以节约开发成本了,下面我来给各位介绍了常使用的类。有面向对象技术基础的编程人员看一天就可以写起来了。而PHP在访问数据库的时候又经常会出现各种问题,如字符编码问题、SQL语法错误问题、PHP处理数据记录对象和返回对象的问题等。我这里写了一个数据库操作类,封装了数据库增删添改等操作,很方便使用。用这个类,可以加速网站的后台开发。优点:1.方便快捷,数据库操作只需调用接口;2.统一编码(utf8),不易导致乱码3.结构清晰.如处理前端请求的后台程序(test.php)+表封装类(user.class.php)+数据库封装类(db.class.php)+配置信息(configuration.php)以下例子有四个文件:configuration.php+db.class.php+user.class.php+test.php,放在同一个目录下。首先是一个数据库配置的文件类configuration.php代码如下接下来就是数据库操作类db.class.php代码如下host=$host;$this->username=$username;$this->password=$password;$this->dbname=$dbname;}/***打开数据库连接*/publicfunctionopen(){$this->conn=mysql_connect($this->host,$this->username,$this->password);mysql_select_db($this->dbname);mysql_query("SETCHARACTERSETutf8");}/***关闭数据连接*/publicfunctionclose(){mysql_close($this->conn);}/** *通过sql语句获取数据*@return:array()*/publicfunctiongetObjListBySql($sql){$this->open();$rs=mysql_query($sql,$this->conn);$objList=array();while($obj=mysql_fetch_object($rs)){if($obj){$objList[]=$obj;}}$this->close();return$objList;}/***向数据库表中插入数据*@param:$table,表名*@param:$columns,包含表中所有字段名的数组。默认空数组,则是全部有序字段名*@param:$values,包含对应所有字段的属性值的数组*/publicfunctioninsertData($table,$columns=array(),$values=array()){$sql='insertinto'.$table.'(';for($i=0;$iopen();mysql_query($sql,$this->conn);$id=mysql_insert_id($this->conn);$this->close();return$id;}/***通过表中的某一属性获取数据*/publicfunctiongetDataByAtr($tableName,$atrName,$atrValue){@$data=$this->getObjListBySql("SELECT*FROM".$tableName."WHERE$atrName='$atrValue'");if(count($data)!=0)return$data;returnNULL;}/***通过表中的"id",删除记录*/publicfunctiondelete($tableName,$atrName,$atrValue){$this->open();$deleteResult=false;if(mysql_query("DELETEFROM".$tableName."WHERE$atrName='$atrValue'"))$deleteResult=true;$this->close();if($deleteResult)returntrue;elsereturnfalse;}/***更新表中的属性值 */publicfunctionupdateParamById($tableName,$atrName,$atrValue,$key,$value){$db=newDB();$db->open();if(mysql_query("UPDATE".$tableName."SET$key='$value'WHERE$atrName='$atrValue'")){//$key不要单引号$db->close();returntrue;}else{$db->close();returnfalse;}}/**@description:取得一个table的所有属性名*@param:$tbName表名*@return:字符串数组*/publicfunctionfieldName($tbName){$resultName=array();$i=0;$this->open();$result=mysql_query("SELECT*FROM$tbName");while($property=mysql_fetch_field($result)){$resultName[$i++]=$property->name;}$this->close();return$resultName;}}?>接下来是测试了。我在phpmyadmin中建了一个test0数据库,里面建一张表user。然后用php写一个user类对应数据库中的user表。user.class.php代码如下name=$name;$this->password=$password;}publicfunctioninsert(){$db=newDB();$resultid=$db->insertData("user",array(),array('',$this->name,$this->password));return$resultid;}publicstaticfunctiongetUserById($uid){$db=newDB();return$db->getDataByAtr("user",'uid',$uid);}publicstaticfunctiongetUserByName($name){$db=newDB();@$data=$db->getObjListBySql("SELECT*FROMuserWHEREname='$name'");if(count($data)!=0)return$data;elsereturnnull;}publicstaticfunctiongetAllUser(){$db=newDB();@$data=$db->getObjListBySql("SELECT*FROMuser");if(count($data)!=0)return$data;elsereturnnull;}publicstaticfunctiondeleteByUid($uid){$admin=Admin::getAdminById($uid); $db=newDB();if($db->delete("user","uid",$uid))returntrue;elsereturnfalse;}}?>测试程序:test.php代码如下insert();$users=User::getAllUser();foreach($usersas$u){echo"
".$u->name."
".$u->password."
";}?>

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭