激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 簡單的php數據庫操作類代碼(增,刪,改,查)

簡單的php數據庫操作類代碼(增,刪,改,查)

2020-03-14 16:09PHP教程網 PHP教程

這幾天準備重新學習,梳理一下知識體系,同時按照功能模塊劃分做一些東西。所以。mysql的操作成為第一個要點。我寫了一個簡單的mysql操作類,實現數據的簡單的增刪改查功能。

數據庫操縱基本流程為:

  1、連接數據庫服務器

  2、選擇數據庫

  3、執行SQL語句

  4、處理結果集

  5、打印操作信息

  其中用到的相關函數有

•resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]] )  連接數據庫服務器
•resource mysql_pconnect ( [string server [, string username [, string password [, int client_flags]]]] )  連接數據庫服務器,長連接
•int mysql_affected_rows ( [resource link_identifier] )取得最近一次與 link_identifier 關聯的 INSERT,UPDATE 或 DELETE 查詢所影響的記錄行數。
•bool mysql_close ( [resource link_identifier] )如果成功則返回 TRUE,失敗則返回 FALSE。
•int mysql_errno ( [resource link_identifier] )返回上一個 MySQL 函數的錯誤號碼,如果沒有出錯則返回 0(零)。
•string mysql_error ( [resource link_identifier] )返回上一個 MySQL 函數的錯誤文本,如果沒有出錯則返回 ''(空字符串)。如果沒有指定連接資源號,則使用上一個成功打開的連接從 MySQL 服務器提取錯誤信息。
•array mysql_fetch_array ( resource result [, int result_type] )返回根據從結果集取得的行生成的數組,如果沒有更多行則返回 FALSE。
•bool mysql_free_result ( resource result )釋放所有與結果標識符 result 所關聯的內存。
•int mysql_num_fields ( resource result )返回結果集中字段的數目。
•int mysql_num_rows ( resource result )返回結果集中行的數目。此命令僅對 SELECT 語句有效。要取得被 INSERT,UPDATE 或者 DELETE 查詢所影響到的行的數目,用 mysql_affected_rows()。
•resource mysql_query ( string query [, resource link_identifier] ) 向與指定的連接標識符關聯的服務器中的當前活動數據庫發送一條查詢。如果沒有指定 link_identifier,則使用上一個打開的連接。如果沒有打開的連接,本函數會嘗試無參數調用 mysql_connect() 函數來建立一個連接并使用之。查詢結果會被緩存
代碼如下:

 

復制代碼代碼如下:

class mysql {

     private $db_host;       //數據庫主機
     private $db_user;       //數據庫登陸名
     private $db_pwd;        //數據庫登陸密碼
     private $db_name;       //數據庫名
     private $db_charset;    //數據庫字符編碼
     private $db_pconn;      //長連接標識位
     private $debug;         //調試開啟
     private $conn;          //數據庫連接標識
     private $msg = "";      //數據庫操縱信息

 //    private $sql = "";      //待執行的SQL語句

     public function __construct($db_host, $db_user, $db_pwd, $db_name, $db_chaeset = 'utf8', $db_pconn = false, $debug = false) {
         $this->db_host = $db_host;
         $this->db_user = $db_user;
         $this->db_pwd = $db_pwd;
         $this->db_name = $db_name;
         $this->db_charset = $db_chaeset;
         $this->db_pconn = $db_pconn;
         $this->result = '';
         $this->debug = $debug;
         $this->initConnect();
     }

     public function initConnect() {
         if ($this->db_pconn) {
             $this->conn = @mysql_pconnect($this->db_host, $this->db_user, $this->db_pwd);
         } else {
             $this->conn = @mysql_connect($this->db_host, $this->db_user, $this->db_pwd);
         }
         if ($this->conn) {
             $this->query("SET NAMES " . $this->db_charset);
         } else {
             $this->msg = "數據庫連接出錯,錯誤編號:" . mysql_errno() . "錯誤原因:" . mysql_error();
         }
         $this->selectDb($this->db_name);
     }

     public function selectDb($dbname) {
         if ($dbname == "") {
             $this->db_name = $dbname;
         }
         if (!mysql_select_db($this->db_name, $this->conn)) {
             $this->msg = "數據庫不可用";
         }
     }

     public function query($sql, $debug = false) {
         if (!$debug) {
             $this->result = @mysql_query($sql, $this->conn);
         } else {

         }
         if ($this->result == false) {
             $this->msg = "sql執行出錯,錯誤編號:" . mysql_errno() . "錯誤原因:" . mysql_error();
         }
 //        var_dump($this->result);
     }

     public function select($tableName, $columnName = "*", $where = "") {
         $sql = "SELECT " . $columnName . " FROM " . $tableName;
         $sql .= $where ? " WHERE " . $where : null;
         $this->query($sql);
     }

     public function findAll($tableName) {
         $sql = "SELECT * FROM $tableName";
         $this->query($sql);
     }

     public function insert($tableName, $column = array()) {
         $columnName = "";
         $columnValue = "";
         foreach ($column as $key => $value) {
             $columnName .= $key . ",";
             $columnValue .= "'" . $value . "',";
         }
         $columnName = substr($columnName, 0, strlen($columnName) - 1);
         $columnValue = substr($columnValue, 0, strlen($columnValue) - 1);
         $sql = "INSERT INTO $tableName($columnName) VALUES($columnValue)";
         $this->query($sql);
         if($this->result){
             $this->msg = "數據插入成功。新插入的id為:" . mysql_insert_id($this->conn);
         }
     }

     public function update($tableName, $column = array(), $where = "") {
         $updateValue = "";
         foreach ($column as $key => $value) {
             $updateValue .= $key . "='" . $value . "',";
         }
         $updateValue = substr($updateValue, 0, strlen($updateValue) - 1);
         $sql = "UPDATE $tableName SET $updateValue";
         $sql .= $where ? " WHERE $where" : null;
         $this->query($sql);
         if($this->result){
             $this->msg = "數據更新成功。受影響行數:" . mysql_affected_rows($this->conn);
         }
     }

     public function delete($tableName, $where = ""){
         $sql = "DELETE FROM $tableName";
         $sql .= $where ? " WHERE $where" : null;
         $this->query($sql);
         if($this->result){
             $this->msg = "數據刪除成功。受影響行數:" . mysql_affected_rows($this->conn);
         }
     }

     public function fetchArray($result_type = MYSQL_BOTH){
         $resultArray = array();
         $i = 0;
         while($result = mysql_fetch_array($this->result, $result_type)){
             $resultArray[$i] = $result;
             $i++;
         }
         return $resultArray;
     }

 //    public function fetchObject(){
 //        return mysql_fetch_object($this->result);
 //    }

     public function printMessage(){
         return $this->msg;
     }

     public function freeResult(){
         @mysql_free_result($this->result);
     }

     public function __destruct() {
         if(!empty($this->result)){
             $this->freeResult();
         }
         mysql_close($this->conn);
     }
 }

 

調用代碼如下

 

復制代碼代碼如下:

require_once 'mysql_V1.class.php';
 require_once 'commonFun.php';
 $db = new mysql('localhost', 'root', '', "test");

 //select    查
 $db->select("user", "*", "username = 'system'");
 $result = $db->fetchArray(MYSQL_ASSOC);
 print_r($result);
 dump($db->printMessage());

 //insert    增
 //$userInfo = array('username'=>'system', 'password' => md5("system"));
 //$db->insert("user", $userInfo);
 //dump($db->printMessage());

 //update    改
 //$userInfo = array('password' => md5("123456"));
 //$db->update("user", $userInfo, "id = 2");
 //dump($db->printMessage());

 //delete    刪
 //$db->delete("user", "id = 1");
 //dump($db->printMessage());

 //findAll   查詢全部
 $db->findAll("user");
 $result = $db->fetchArray();
 dump($result);

 

ps,個人比較喜歡tp的dump函數,所以在commonFun.php文件中拷貝了友好打印函數。使用時將其改為print_r()即可。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本一区二区久久 | 欧美一区二区三区免费观看 | 亚洲一区二区三区日本久久九 | 亚洲精久久 | 日本欧美一区二区三区在线观看 | 亚洲精品a在线观看 | 91 视频网站 | 毛片网站视频 | 欧美日韩成人一区二区 | 国产一精品久久99无吗一高潮 | 暖暖免费观看高清完整版电影 | 国产精品亚洲一区二区三区在线观看 | 日韩av片网站 | 国产寡妇xxxxxxxx性开放 | 激情综合婷婷久久 | 欧美一区高清 | 特大黑人videos与另类娇小 | 黄色片在线观看网站 | 亚洲免费在线看 | 国产免费看 | 欧美巨乳在线观看 | 92看片淫黄大片欧美看国产片 | 全免费午夜一级毛片真人 | 九九热在线视频免费观看 | 一级做受大片免费视频 | 欧美1区2区 | 国产精品视频免费网站 | 黄色试看视频 | 国产精品视频不卡 | 激情视频免费看 | 88xx成人永久免费观看 | 成人在线网站 | 黄色片快播 | 成人毛片视频免费看 | 久久网一区二区 | 91久久国产综合精品女同国语 | 中文字幕亚洲一区二区三区 | 在线2区| 久久99在线 | 日本高清电影在线播放 | 91精品国产91 |