PHP封装的PDO数据库操作类实例
本文实例讲述了PHP封装的PDO数据库操作类。分享给大家供大家参考,具体如下:
allPrepare($sql,$query); if(!$data->isEmpty()){ $result=$data->data; } } return$result; } /** *查询数据 */ publicstaticfunctionselect_data($dataName,$tableName,$where,$param=array(),$desc=''){ $result=array(); $query=array(); $query_str='1=1'; $tmp=''; $str_arr=''; if(!empty($param)){ $str=''; foreach($paramas$val){ $str.='`'.$val.'`,'; } $str=substr($str,0,-1); } $str_arr=!empty($str)?$str:'*'; if(!empty($where)){ foreach($whereas$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; } /** *批量添加信息 */ publicstaticfunctioninsert_data($dataName,$tableName,$add_param){ $flag=false; if(!empty($add_param)){ $fileds=array(); $str=''; foreach($add_paramas$k=>$val){ $str.='('; $i=0; foreach($valas$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="INSERTINTO`".$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; } /** *删除数据 */ publicstaticfunctiondelete_data($dataName,$tableName,$id){ $query=array(':id'=>$id); $sql="DELETEFROM".$tableName."WHERE`id`=:id"; $db_res=Bj_PdoDB::factory($dataName)->simplePrepare($sql,$query); return$db_res->data; } /** *更新数据 */ publicstaticfunctionupdate_data($dataName,$tableName,$id,$array){ $flag=false; if(!empty($array)&&!empty($id)){ $query=array(':id'=>$id); $up_str=''; foreach($arrayas$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; } /** *事务 */ publicstaticfunctiontransactionHandler($dataName,$type){ switch($type){ case'begin': returnBj_PdoDB::factory($dataName)->beginTransaction(); break; case'commit': returnBj_PdoDb::factory($dataName)->commit(); break; case'rollback': returnBj_PdoDb::factory($dataName)->rollback(); break; default: exit; } } /** *curl获取数据get */ publicstaticfunctioncurl_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; } returnfalse; } /** *curl提交数据 */ publicstaticfunctioncurl_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程序设计有所帮助。