本文实例讲述了PHP封装的PDO数据库操作类。分享给大家供大家参考,具体如下:
<?php class DatabaseHandler { /** * sql语句查询 */ public static function query_data ($dataName,$sql,$query=array()) { $result = array(); if (!empty($sql)) { $data = Bj_PdoDB::factory($dataName)->allPrepare($sql, $query); if (!$data->isEmpty()) { $result = $data->data; } } return $result; } /** * 查询数据 */ public static function select_data ($dataName,$tableName,$where,$param=array(),$desc='') { $result = array(); $query = array(); $query_str = '1=1'; $tmp = ''; $str_arr = ''; if (!empty($param)) { $str = ''; foreach ($param as $val) { $str .= '`'.$val.'`,'; } $str = substr($str,0,-1); } $str_arr = !empty($str) ? $str : '*'; if ( !empty($where) ) { foreach ($where as $key => $value) { $tmp .= ' AND '.$key.'=:'.$key.''; $query[':'.$key] = $value; } } $query_str .= $tmp; if (!empty($desc)) { $query_str .= $desc; } $sql = "SELECT {$str_arr} FROM `".$tableName."` WHERE {$query_str} "; $query_data = Bj_PdoDB::factory($dataName)->allPrepare($sql, $query); if ( !$query_data->isEmpty() ) { $result = $query_data->data; } return $result; } /** * 批量添加信息 */ public static function insert_data($dataName,$tableName,$add_param){ $flag = false; if (!empty($add_param)) { $fileds = array(); $str = ''; foreach($add_param as $k=>$val){ $str .= '('; $i = 0; foreach ($val as $key=>$vl) { $fileds[$i] = '`'.$key.'`'; $str .= "'".addslashes($vl)."',"; $i++; } $str = substr($str,0,-1); $str .= '),'; } $filed_str = implode(',',$fileds); $val_str = substr($str,0,-1); $sql = "INSERT INTO `".$tableName."` ({$filed_str}) VALUES {$val_str}"; $ret = Bj_PdoDB::factory($dataName)->insertPrepare($sql); if ( !$ret->isEmpty() ) { $insertId = $ret->data; if($insertId > 0){ return $insertId; } } } return $flag; } /** * 删除数据 */ public static function delete_data ($dataName,$tableName,$id) { $query = array(':id' => $id); $sql = "DELETE FROM ". $tableName. " WHERE `id`=:id"; $db_res = Bj_PdoDB::factory($dataName)->simplePrepare($sql,$query); return $db_res->data; } /** * 更新数据 */ public static function update_data ($dataName,$tableName,$id,$array) { $flag = false; if ( !empty($array) && !empty($id)) { $query = array(':id' => $id); $up_str = ''; foreach($array as $key=>$val) { $query[':'.$key] = addslashes($val); $up_str .= '`'.$key.'`=:'.$key.','; } $up_str = substr($up_str,0,-1); $sql = "UPDATE `".$tableName."` SET ".$up_str." WHERE `id`=:id"; $db_res = Bj_PdoDB::factory($dataName)->changePrepare($sql, $query); $flag = true; } return $flag; } /** * 事务 */ public static function transactionHandler($dataName,$type){ switch ($type) { case 'begin': return Bj_PdoDB::factory($dataName)->beginTransaction(); break; case 'commit': return Bj_PdoDb::factory($dataName)->commit(); break; case 'rollback': return Bj_PdoDb::factory($dataName)->rollback(); break; default : exit; } } /** * curl获取数据get */ public static function curl_data ($curl_url){ if (!empty($curl_url)) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $curl_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); $output = curl_exec($ch); curl_close($ch); return $output; } return false; } /** * curl提交数据 */ public static function curl_data_post ($ch_url,$param) { $result = array(); if (!empty($ch_url) && !empty($param)) { $query_string = http_build_query($param); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $ch_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $query_string); curl_setopt($ch, CURLOPT_HTTPHEADER,array("application/x-www-form-urlencoded; charset=UTF-8")); $output = curl_exec($ch); curl_close($ch); $result = !empty($output) ? json_decode($output,true) : array(); } return $result; } }
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php+Oracle数据库程序设计技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
本文向大家介绍PHP实现PDO的mysql数据库操作类,包括了PHP实现PDO的mysql数据库操作类的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现PDO的mysql数据库操作类。分享给大家供大家参考。具体分析如下: dbconfig类负责配置数据库访问信息,包括:服务器地址、端口、数据库实例名、用户名、用户密码、字符集等. dbtemplate类集合了对数据库的访问操作,主要
本文向大家介绍Python3实现的Mysql数据库操作封装类,包括了Python3实现的Mysql数据库操作封装类的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python3实现的Mysql数据库操作封装类。分享给大家供大家参考,具体如下: 这段代码需要注意几个地方: 1.数据库配置文件变量放在类外面,只在模块被载入的时候读一次,在使用数据库类时,无需再读取。这样有一个好处就是减少了IO
本文向大家介绍PHP模型Model类封装数据库操作示例,包括了PHP模型Model类封装数据库操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP模型Model类封装数据库操作。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大
本文向大家介绍php使用PDO操作MySQL数据库实例,包括了php使用PDO操作MySQL数据库实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php使用PDO操作MySQL数据库的方法。分享给大家供大家参考。具体分析如下: PDO是mysql数据库操作的一个公用类,我们不需要进行自定类就可以直接使用pdo来操作数据库,但是在php默认配置中pdo是未开启所以我们必须先在php.in
本文向大家介绍PHP常用操作类之通信数据封装类的实现,包括了PHP常用操作类之通信数据封装类的实现的使用技巧和注意事项,需要的朋友参考一下 前言 本文主要给大家介绍了关于PHP常用操作类之通信数据封装类实现的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 必要性 不管在B/S架构中,还是C/S架构中,两端的数据通信(注:这里的通信是指的网络请求和回复操作)都无可避免,因为没
本文向大家介绍php pdo连接数据库操作示例,包括了php pdo连接数据库操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php pdo连接数据库操作。分享给大家供大家参考,具体如下: pdo连接数据库的有点是能实现不同数据库之间的转换,而且有事务功能的回滚,更有pdo::prepare();pdo:::execute()函数的预处理查询,所以我个人认为pdo的功能还是比较强大