<?php
class
DatabaseHandler {
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
;
}
}
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;
}
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
;
}
}