PHP封装操作数据库类.doc

上传人:豆**** 文档编号:33571192 上传时间:2022-08-11 格式:DOC 页数:7 大小:24KB
返回 下载 相关 举报
PHP封装操作数据库类.doc_第1页
第1页 / 共7页
PHP封装操作数据库类.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《PHP封装操作数据库类.doc》由会员分享,可在线阅读,更多相关《PHP封装操作数据库类.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、PHP封装操作数据库类我们在网站开发时比较合理的做法就是我们的常用的一些程序做成函数或封闭成类,这样可以重复利用,可以节约开发成本了,下面我来给各位介绍了常使用的类。有面向对象技术基础的编程人员看一天就可以写起来了。而PHP在访问数据库的时候又经常会出现各种问题,如字符编码问题、SQL语法错误问题、PHP处理数据记录对象和返回对象的问题等。我这里写了一个数据库操作类,封装了数据库增删添改等操作,很方便使用。用这个类,可以加速网站的后台开发。优点:1.方便快捷, 数据库操作只需调用接口;2.统一编码(utf8),不易导致乱码3.结构清晰. 如处理前端请求的后台程序(test.php) + 表封装

2、类(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 = $dbnam

3、e; /* * 打开数据库连接 */ public function open() $this-conn = mysql_connect($this-host,$this-username,$this-password); mysql_select_db($this-dbname); mysql_query(SET CHARACTER SET utf8); /* * 关闭数据连接 */ public function close() mysql_close($this-conn); /* * 通过sql语句获取数据 * return: array() */ public function ge

4、tObjListBySql($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,包含对应所有字段的属性值的数组 */

5、public function insertData($table,$columns=array(),$values=array() $sql = insert into .$table .( ; for($i = 0; $i sizeof($columns);$i +) $sql .= $columns$i; if($i sizeof($columns) - 1) $sql .= ,; $sql .= ) values ( ; for($i = 0; $i sizeof($values);$i +) $sql .= .$values$i.; if($i open(); mysql_query

6、($sql,$this-conn); $id = mysql_insert_id($this-conn); $this-close(); return $id; /* * 通过表中的某一属性获取数据 */ public function getDataByAtr($tableName,$atrName,$atrValue) $data = $this-getObjListBySql(SELECT * FROM .$tableName. WHERE $atrName = $atrValue); if(count($data)!=0)return $data; return NULL; /* *

7、通过表中的id,删除记录 */ public function delete($tableName,$atrName,$atrValue) $this-open(); $deleteResult = false; if(mysql_query(DELETE FROM .$tableName. WHERE $atrName = $atrValue) $deleteResult = true; $this-close(); if($deleteResult) return true; else return false; /* * 更新表中的属性值 */ public function updat

8、eParamById($tableName,$atrName,$atrValue,$key,$value) $db = new DB(); $db-open(); if(mysql_query(UPDATE .$tableName. SET $key = $value WHERE $atrName = $atrValue ) /$key不要单引号 $db-close(); return true; else $db-close(); return false; /* * description: 取得一个table的所有属性名 * param: $tbName 表名 * return:字符串数

9、组 */ public function fieldName($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类对

10、应数据库中的user表。user.class.php代码如下name = $name; $this-password = $password; public function insert() $db = new DB(); $resultid = $db-insertData(user,array(),array(,$this-name,$this-password); return $resultid; public static function getUserById($uid) $db = new DB(); return $db-getDataByAtr(user,uid,$uid

11、); public static function getUserByName($name) $db = new DB(); $data = $db-getObjListBySql(SELECT * FROM user WHERE name = $name); if(count($data)!=0)return $data; else return null; public static function getAllUser() $db = new DB(); $data = $db-getObjListBySql(SELECT * FROM user); if(count($data)!=0) return $data; else return null; public static function deleteByUid($uid) $admin = Admin:getAdminById($uid); $db = new DB(); if($db-delete(user,uid,$uid) return true; else return false; ?测试程序: test.php代码如下insert(); $users = User:getAllUser(); foreach ($users as $u) echo .$u-name.$u-password.; ?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁