您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

有关PHP中封装的PDO数据库操作类的相关介绍

2024/3/14 17:31:34发布38次查看
这篇文章主要介绍了php封装的pdo数据库操作类,结合具体实例形式分析了php基于pdo针对数据库的增删改查、事务、批量添加等相关操作技巧,需要的朋友可以参考下
本文实例讲述了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中封装的pdo数据库操作类的相关介绍的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product