php增删改查封装
发布:smiling 来源: PHP粉丝网 添加日期:2022-06-13 09:56:44 浏览: 评论:0
php增删改查封装
首先创建一个名为“DB”的类;然后在“DB”类的构造方法中去连接数据库;再根据连接实例进行编写增删改查操作;最后将“DB”类进行实例化并设置为全局变量即可。
封装代码:
- <?php
- /**
- * 数据库配置信息
- */
- define('DB_HOST','127.0.0.1'); //服务器
- define('DB_USER','root'); //数据库用户名
- define('DB_PASSWORD','123456'); //数据库密码
- define('DB_NAME','TEST'); //默认数据库
- define('DB_CHARSET','utf8'); //数据库字符集
- define('TIMEZONE',"PRC"); //时区设置
- date_default_timezone_set(TIMEZONE);
- /**
- * 类名:DB
- * 说明:数据库操作类
- */
- class DB
- {
- public $host; //服务器
- public $conn; //数据库连接变量
- /**
- * DB类构造函数
- */
- public function DB($host=DB_HOST ,$username=DB_USER,$password=DB_PASSWORD,$db_name=DB_NAME)
- {
- $this->host = $host;
- $this->username = $username;
- $this->password = $password;
- $this->db_name = $db_name;
- $this->conn = mysql_connect($host,$username,$password) or die ('数据库连接失败!错误原因:'.mysql_error());
- mysql_select_db($db_name)or die('数据库选定失败!错误原因:'.mysql_error());
- mysql_query("SET CHARACTER SET utf8");
- }
- /**
- * 关闭数据连接
- */
- public function close()
- {
- mysql_close($this->conn);
- }
- /**
- * @description调用方法用
- * @param $sql
- * @return array
- */
- public function QueryAll($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;
- }
- /**
- * description查询全部返回Json格式,通讯用
- * @param $sql
- * @return string
- */
- public function QueryAllJson($sql)
- {
- echo $sql;
- $this->open();
- $rs = mysql_query($sql,$this->conn);
- $objList = array();
- $i=0;
- while($obj = mysql_fetch_object($rs))
- {
- $objList[$i]=$obj;
- $i++;
- }
- $this->close();
- return json_encode(array("result"=>"success",'data'=>$objList));
- }
- /**
- * @description 插入数据到数据库中
- * @param $tableName 表名
- * @param array $columns 包含表中所有字段名的数组。默认空数组,则是全部有序字段名
- * @param array $values 包含对应所有字段的属性值的数组
- * @return int
- */
- public function insertData($tableName,$columns=array(),$values=array())
- {
- $sql = 'insert into '.$tableName .'( ';
- 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 < sizeof($values) - 1)
- {
- $sql .= ',';
- }
- }
- $sql .= ' )';
- $this->open();
- mysql_query($sql,$this->conn);
- return true;
- // $id = mysql_insert_id($this->conn);//取得上一步操作产生的ID(2)
- // $this->close();(2)
- // return $id;//(2)
- }
- /**
- * 通过表中的某一属性获取数据
- */
- public function getDataByAtr($tableName,$atrName,$atrValue){
- @$data = $this->QueryAll("SELECT * FROM ".$tableName." WHERE $atrName = '$atrValue'");
- if(count($data)!=0)return $data;
- return NULL;
- }
- /**
- * description_
- * 通过表中的"id",删除记录
- */
- public function delete($tableName,$atrName,$atrValue){
- echo $tableName;
- $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 updateParamById($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:字符串数组
- */
- public function fieldName($tableName){
- $resultName=array();
- $i=0;
- $this->open();
- $result = mysql_query("SELECT * FROM ".$tableName);
- while ($property = mysql_fetch_field($result)){
- $resultName[$i++]=$property->name;
- }
- $this->close();
- return $resultName;
- }
- }
Tags: php增删改查封装
- 上一篇:php扩展安装不生效问题怎么解决?
- 下一篇:最后一页
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)