最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2013年04月08日 09:23:29   作者:  
這幾天準(zhǔn)備重新學(xué)習(xí),梳理一下知識(shí)體系,同時(shí)按照功能模塊劃分做一些東西。所以。mysql的操作成為第一個(gè)要點(diǎn)。我寫了一個(gè)簡單的mysql操作類,實(shí)現(xiàn)數(shù)據(jù)的簡單的增刪改查功能。

數(shù)據(jù)庫操縱基本流程為:

  1、連接數(shù)據(jù)庫服務(wù)器

  2、選擇數(shù)據(jù)庫

  3、執(zhí)行SQL語句

  4、處理結(jié)果集

  5、打印操作信息

  其中用到的相關(guān)函數(shù)有

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


復(fù)制代碼 代碼如下:

class mysql {

     private $db_host;       //數(shù)據(jù)庫主機(jī)
     private $db_user;       //數(shù)據(jù)庫登陸名
     private $db_pwd;        //數(shù)據(jù)庫登陸密碼
     private $db_name;       //數(shù)據(jù)庫名
     private $db_charset;    //數(shù)據(jù)庫字符編碼
     private $db_pconn;      //長連接標(biāo)識(shí)位
     private $debug;         //調(diào)試開啟
     private $conn;          //數(shù)據(jù)庫連接標(biāo)識(shí)
     private $msg = "";      //數(shù)據(jù)庫操縱信息

 //    private $sql = "";      //待執(zhí)行的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 = "數(shù)據(jù)庫連接出錯(cuò),錯(cuò)誤編號(hào):" . mysql_errno() . "錯(cuò)誤原因:" . 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 = "數(shù)據(jù)庫不可用";
         }
     }

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

         }
         if ($this->result == false) {
             $this->msg = "sql執(zhí)行出錯(cuò),錯(cuò)誤編號(hào):" . mysql_errno() . "錯(cuò)誤原因:" . 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 = "數(shù)據(jù)插入成功。新插入的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 = "數(shù)據(jù)更新成功。受影響行數(shù):" . 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 = "數(shù)據(jù)刪除成功。受影響行數(shù):" . 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);
     }
 }

調(diào)用代碼如下

復(fù)制代碼 代碼如下:

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   查詢?nèi)?BR> $db->findAll("user");
 $result = $db->fetchArray();
 dump($result);

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

相關(guān)文章

  • Smarty模板變量與調(diào)節(jié)器實(shí)例詳解

    Smarty模板變量與調(diào)節(jié)器實(shí)例詳解

    這篇文章主要介紹了Smarty模板變量與調(diào)節(jié)器,結(jié)合實(shí)例形式詳細(xì)分析了Smarty模板變量與調(diào)節(jié)器基本概念、分類、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • Linux中用PHP判斷程序運(yùn)行狀態(tài)的2個(gè)方法

    Linux中用PHP判斷程序運(yùn)行狀態(tài)的2個(gè)方法

    這篇文章主要介紹了Linux中用PHP判斷程序運(yùn)行狀態(tài)的2個(gè)方法,需要的朋友可以參考下
    2014-05-05
  • CI框架網(wǎng)頁緩存簡單用法分析

    CI框架網(wǎng)頁緩存簡單用法分析

    這篇文章主要介紹了CI框架網(wǎng)頁緩存簡單用法,結(jié)合實(shí)例形式分析了CI框架網(wǎng)頁緩存的原理,以及開啟緩存、刪除緩存等操作技巧,需要的朋友可以參考下
    2018-12-12
  • PHP在網(wǎng)頁中動(dòng)態(tài)生成PDF文件詳細(xì)教程

    PHP在網(wǎng)頁中動(dòng)態(tài)生成PDF文件詳細(xì)教程

    這篇文章主要介紹了PHP在網(wǎng)頁中動(dòng)態(tài)生成PDF文件詳細(xì)教程,本文用一個(gè)需求為引,詳細(xì)介紹每一步驟的做法,并配有大量圖片說明,需要的朋友可以參考下
    2014-07-07
  • Yii2結(jié)合Workerman的websocket示例詳解

    Yii2結(jié)合Workerman的websocket示例詳解

    這篇文章主要給大家介紹了關(guān)于Yii2結(jié)合Workerman的websocket的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • PHP中通過getopt解析GNU C風(fēng)格命令行選項(xiàng)

    PHP中通過getopt解析GNU C風(fēng)格命令行選項(xiàng)

    這篇文章主要介紹了PHP中通過getopt解析GNU C風(fēng)格命令行選項(xiàng),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 利用PHP如何寫APP接口詳解

    利用PHP如何寫APP接口詳解

    很多朋友在開發(fā)時(shí)遇到過這樣的問題:后臺(tái)什么時(shí)候提供接口?怎么才提供一個(gè)接口,其他接口什么時(shí)候給出來?沒有接口我們前端怎么能做得了?那學(xué)完本篇就可以自己搞個(gè)接口來返回固定的死數(shù)據(jù)來測試了!
    2016-08-08
  • PHP設(shè)計(jì)模式之觀察者模式實(shí)例

    PHP設(shè)計(jì)模式之觀察者模式實(shí)例

    一個(gè)對(duì)象通過添加一個(gè)方法(該方法允許另一個(gè)對(duì)象,即觀察者 注冊(cè)自己)使本身變得可觀察。當(dāng)可觀察的對(duì)象更改時(shí),它會(huì)將消息發(fā)送到已注冊(cè)的觀察者。通過本文給大家介紹PHP設(shè)計(jì)模式之觀察者模式,需要的朋友參考下
    2016-02-02
  • PHP判斷json格式是否正確的實(shí)現(xiàn)代碼

    PHP判斷json格式是否正確的實(shí)現(xiàn)代碼

    本文給大家分享PHP判斷json格式是否正確的實(shí)現(xiàn)代碼,代碼簡單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-09-09
  • php實(shí)現(xiàn)數(shù)組重復(fù)數(shù)字統(tǒng)計(jì)實(shí)例

    php實(shí)現(xiàn)數(shù)組重復(fù)數(shù)字統(tǒng)計(jì)實(shí)例

    在本篇文章里我們給大家?guī)硪粋€(gè)關(guān)于php實(shí)現(xiàn)數(shù)組重復(fù)數(shù)字統(tǒng)計(jì)的實(shí)例,有用到的朋友們參考下。
    2018-09-09

最新評(píng)論

奉新县| 扎鲁特旗| 绍兴县| 大方县| 永仁县| 吐鲁番市| 桂林市| 周至县| 吉林省| 宜阳县| 巨野县| 阿坝县| 来凤县| 枣庄市| 沽源县| 治多县| 墨脱县| 南宁市| 长宁区| 错那县| 新龙县| 兰溪市| 洱源县| 舞钢市| 财经| 宁南县| 邹平县| 景宁| 乐至县| 冀州市| 沙坪坝区| 花垣县| 长兴县| 吴旗县| 泰和县| 海原县| 闽侯县| 师宗县| 康保县| 吉安市| 揭西县|