@
ini_set
( 'display_errors',0 );
class
DataBase{
private
$mDb_host
,
$mAb_user
,
$mAb_pwd
,
$mConn_No
;
function
DataBase(
$Conn_Obj
){
$this
->connectDb(
$Conn_Obj
);
}
function
connectDb(
$Conn_Obj
){
$this
->mDb_host =
$Conn_Obj
->host;
$this
->mAd_name =
$Conn_Obj
->user;
$this
->mAd_pwd =
$Conn_Obj
->pwd;
$this
->mConn_No = mysql_connect(
$this
->mDb_host,
$this
->mAd_name,
$this
->mAd_pwd );
}
function
selectDb(
$Conn_Obj
){
$this
->mDb_name =
$Conn_Obj
->dbname;
mysql_select_db(
$this
->mDb_name );
}
}
class
MakeSql
extends
DataBase{
private
$mSql
;
function
MakeSql(
$type
,
$arr_colum_list
,
$arr_sql_choice
){
$this
->MakeSqlType(
$arr_colum_list
,
$arr_sql_choice
);
}
function
MakeSqlType(
$type
,
$arr_colum_list
,
$arr_sql_choice
){
switch
(
$type
){
case
'insert':
return
$this
->makeInsert(
$arr_colum_list
,
$arr_sql_choice
);
case
'select':
return
$this
->makeSelect(
$arr_colum_list
,
$arr_sql_choice
);
case
'update':
return
$this
->makeUpdate(
$arr_colum_list
,
$arr_sql_choice
);
case
'
delete
':
return
$this
->makeDelete(
$arr_colum_list
,
$arr_sql_choice
);
}
}
function
makeInsert(
$arr_colum_list
,
$arr_sql_choice
){
$colum_key
=
array_keys
(
$arr_colum_list
);
$colum_value
=
array_values
(
$arr_colum_list
);
$this
->mSql =
"INSERT INTO "
.
$arr_sql_choice
[
"tbl_name"
].
"( "
.join( ',' ,
$colum_key
).
" ) VALUES( '"
.join(
"','"
,
$colum_value
).
"')"
;
return
$this
->mSql;
}
function
makeSelect(
$arr_colum_list
= '*' ,
$arr_sql_choice
){
$colum_value
=
array_keys
(
$arr_colum_list
);
foreach
(
$arr_sql_choice
as
$sql_key
=>
$sql_value
){
if
(
strcmp
(
$sql_key
, 'tbl_name' ) == 0 ){
if
(
strcmp
(
$arr_colum_list
, '*' ) !== 0 )
$this
->mSql =
"SELECT "
.join( ',' ,
$colum_value
).
" FROM "
.
$sql_value
;
else
$this
->mSql =
"SELECT * FROM "
.
$sql_value
;
}
else
if
(
strcmp
(
$sql_value
, '' ) !== 0 )
if
(
strcmp
(
$sql_key
, 'WHERE' ) === 0 &&
strcmp
(
$sql_value
, 'colum' ) === 0 ){
foreach
(
$arr_colum_list
As
$colum_key
=>
$colum_value
)
$this
->mSql .=
"$colum_key = '$colum_value' AND "
;
$this
->mSql = rtrim(
$this
->mSql,
" AND "
);
}
else
$this
->mSql .=
" $sql_key "
.
$sql_value
;
}
return
$this
->mSql;
}
function
makeUpdate(
$arr_colum_list
,
$arr_sql_choice
){
$this
->mSql =
"UPDATE "
.
$arr_sql_choice
['tbl_name'].
" SET "
;
foreach
(
$arr_colum_list
as
$colum_key
=>
$colum_value
)
$this
->mSql .=
"$colum_key = '$colum_value',"
;
$this
->mSql = rtrim(
$this
->mSql , ',');
foreach
(
$arr_sql_choice
as
$sql_key
=>
$sql_value
){
if
(
strcmp
(
$sql_value
, '' ) !== 0 &&
strcmp
(
$sql_key
, 'tbl_name' ) !==0 &&
strcmp
(
$sql_key
, 'ORDER BY' ) !== 0 )
$this
->mSql .=
" $sql_key "
.
$sql_value
;
}
return
$this
->mSql;
}
function
makeDelete(
$arr_colum_list
,
$arr_sql_choice
){
$this
->mSql =
"DELETE FROM "
.
$arr_sql_choice
['tbl_name'];
foreach
(
$arr_sql_choice
as
$sql_key
=>
$sql_value
){
if
(
strcmp
(
$sql_key
, 'tbl_name' ) !== 0 &&
strcmp
(
$sql_value
, '' ) !== 0 ){
$this
->mSql .=
" $sql_key "
.
$sql_value
;
}
}
return
$this
->mSql;
}
}