首頁 > 後端開發 > php教程 > PHP建構sql語句類別的方法

PHP建構sql語句類別的方法

墨辰丷
發布: 2023-03-29 19:16:01
原創
2221 人瀏覽過

本篇主要介紹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陣列函數array_walk用法及實例

PHP MVC框架skymvc支援多檔案上傳實作方法

PHP實作資料分頁顯示的方法及簡單實例

以上是PHP建構sql語句類別的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板