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; }}
推荐教程:《PHP教程》 总结
以上是内存溢出为你收集整理的php增删改查封装全部内容,希望文章能够帮你解决php增删改查封装所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)