Heim > Backend-Entwicklung > PHP-Tutorial > Relevante Einführung in die in PHP gekapselte PDO-Datenbankbetriebsklasse

Relevante Einführung in die in PHP gekapselte PDO-Datenbankbetriebsklasse

巴扎黑
Freigeben: 2023-03-14 22:22:01
Original
1166 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die von PHP gekapselte PDO-Datenbankbetriebsklasse vorgestellt und die zugehörigen Betriebsfähigkeiten zum Hinzufügen, Löschen, Ändern, Transagieren, Stapelhinzufügen usw. von PDO-Datenbanken anhand spezifischer Beispiele analysiert it

Das Beispiel in diesem Artikel beschreibt die von PHP gekapselte PDO-Datenbankbetriebsklasse. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:


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

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

<?php

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=&#39;&#39;) {

      $result = array();

      $query = array();

      $query_str = &#39;1=1&#39;;

      $tmp = &#39;&#39;;

      $str_arr = &#39;&#39;;

      if (!empty($param)) {

        $str = &#39;&#39;;

        foreach ($param as $val) {

          $str .= &#39;`&#39;.$val.&#39;`,&#39;;

        }

        $str = substr($str,0,-1);

      }

      $str_arr = !empty($str) ? $str : &#39;*&#39;;

      if ( !empty($where) ) {

        foreach ($where as $key => $value) {

          $tmp .= &#39; AND &#39;.$key.&#39;=:&#39;.$key.&#39;&#39;;

          $query[&#39;:&#39;.$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 = &#39;&#39;;

        foreach($add_param as $k=>$val){

          $str .= &#39;(&#39;;

          $i = 0;

          foreach ($val as $key=>$vl) {

            $fileds[$i] = &#39;`&#39;.$key.&#39;`&#39;;

            $str .= "&#39;".addslashes($vl)."&#39;,";

            $i++;

          }

          $str = substr($str,0,-1);

          $str .= &#39;),&#39;;

        }

        $filed_str = implode(&#39;,&#39;,$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(&#39;:id&#39; => $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(&#39;:id&#39; => $id);

      $up_str = &#39;&#39;;

      foreach($array as $key=>$val) {

        $query[&#39;:&#39;.$key] = addslashes($val);

        $up_str .= &#39;`&#39;.$key.&#39;`=:&#39;.$key.&#39;,&#39;;

      }

      $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 &#39;begin&#39;:

        return Bj_PdoDB::factory($dataName)->beginTransaction();

        break;

      case &#39;commit&#39;:

        return Bj_PdoDb::factory($dataName)->commit();

        break;

      case &#39;rollback&#39;:

        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;

  }

}

Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonRelevante Einführung in die in PHP gekapselte PDO-Datenbankbetriebsklasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage