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程序设计有所帮助。