本文实例讲述了PHP实现的构造sql语句类。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
/**
* @package Database Class
* @author injection (mail:injection.mail@gmail.com)
* @version 1.0
*/
@ 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 );
}
}
/**
* @package Making Sqls Class exetends Database Class
* @author injection (mail:injection.mail@gmail.com)
* @version 1.0
*/
class MakeSql extends DataBase{
private $mSql ;
function MakeSql( $type , $arr_colum_list , $arr_sql_choice ){
$this ->MakeSqlType( $arr_colum_list , $arr_sql_choice );
}
//switch make list
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 );
}
}
//make insert
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;
}
//making select
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;
}
//making update
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;
}
//making delete
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;
}
}
|
希望本文所述对大家PHP程序设计有所帮助。