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 ;
}
}
数据库连接就自己写吧。
封装PDO操作数据库
标签:
查看更多关于封装PDO操作数据库的详细内容...