国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PDO的mysql數據庫操作類

2024-09-04 11:44:15
字體:
來源:轉載
供稿:網友

dbconfig類負責配置數據庫訪問信息,包括:服務器地址、端口、數據庫實例名、用戶名、用戶密碼、字符集等.

dbtemplate類集合了對數據庫的訪問操作,主要有以下幾個操作:

1. queryrows:返回多行記錄

2. queryrow:返回為單條記錄

3. queryforint:查詢單字段,返回整數

4. queryforfloat:查詢單字段,返回浮點數(float)

5. queryfordouble:查詢單字段,返回浮點數(double)

6. queryforobject:查詢單字段,返回對象,實際類型有數據庫決定

7. update : 執行一條更新語句. insert / upadate / delete

  1. class dbconfig { 
  2.  
  3.     private static $dbms = "mysql"
  4.     private static $host = '127.0.0.1'
  5.     private static $port = '3306'
  6.     private static $username = ''
  7.     private static $password = ''
  8.     private static $dbname = ''
  9.     private static $charset = 'utf-8'
  10.     private static $dsn
  11.  
  12.     /** 
  13.      * 
  14.      * @return   返回pdo dsn配置 
  15.      */ 
  16.     public static function getdsn() { 
  17.         if (!isset(self::$dsn)) { 
  18.             self::$dsn = self::$dbms . ':host=' . self::$host . ';port=' . 
  19.                     self::$port . ';dbname=' . self::$dbname
  20.             if (strlen(self::$charset) > 0) { 
  21.                 self::$dsn = self::$dsn . ';charset=' . self::$charset
  22.             } 
  23.         } 
  24.         return self::$dsn
  25.     } 
  26.  
  27.     /** 
  28.      * 設置mysql數據庫服務器主機 
  29.      * @param  $host 主機的ip地址 
  30.      */ 
  31.     public static function sethost($host) { 
  32.         if (isset($host) && strlen($host) > 0) 
  33.             self::$host = trim($host); 
  34.     } 
  35.  
  36.     /** 
  37.      * 設置mysql數據庫服務器的端口 
  38.      * @param  $port 端口 
  39.      */ 
  40.     public static function setport($port) { 
  41.         if (isset($port) && strlen($port) > 0) 
  42.             self::$port = trim($port); 
  43.     } 
  44.  
  45.     /** 
  46.      * 設置mysql數據庫服務器的登陸用戶名 
  47.      * @param  $username 
  48.      */ 
  49.     public static function setusername($username) { 
  50.         if (isset($username) && strlen($username) > 0) 
  51.             self::$username = $username
  52.     } 
  53.  
  54.     /** 
  55.      * 設置mysql數據庫服務器的登陸密碼 
  56.      * @param  $password 
  57.      */ 
  58.     public static function setpassword($password) { 
  59.         if (isset($password) && strlen($password) > 0) 
  60.             self::$password = $password
  61.     } 
  62.  
  63.     /** 
  64.      * 設置mysql數據庫服務器的數據庫實例名 
  65.      * @param  $dbname 數據庫實例名 
  66.      */ 
  67.     public static function setdbname($dbname) { 
  68.         if (isset($dbname) && strlen($dbname) > 0) 
  69.             self::$dbname = $dbname
  70.     } 
  71.  
  72.     /** 
  73.      * 設置數據庫編碼 
  74.      * @param  $charset 
  75.      */ 
  76.     public static function setcharset($charset) { 
  77.         if (isset($charset) && strlen($charset) > 0) 
  78.             self::$charset = $charset
  79.     } 
  80.  
  81.  
  82. /** 
  83.  * 一個數據庫操作工具類 
  84.  * 
  85.  * @author zhjiun@gmail.com 
  86.  */ 
  87. class dbtemplate { 
  88.  
  89.     /** 
  90.      * 返回多行記錄 
  91.      * @param  $sql 
  92.      * @param  $parameters 
  93.      * @return  記錄數據 
  94.      */ 
  95.     public function queryrows($sql$parameters = null) { 
  96.         return $this->exequery($sql$parameters); 
  97.     } 
  98.  
  99.     /** 
  100.      * 返回為單條記錄 
  101.      * @param  $sql 
  102.      * @param  $parameters 
  103.      * @return 
  104.      */ 
  105.     public function queryrow($sql$parameters = null) { 
  106.         $rs = $this->exequery($sql$parameters); 
  107.         if (count($rs) > 0) { 
  108.             return $rs[0]; 
  109.         } else { 
  110.             return null; 
  111.         } 
  112.     } 
  113.  
  114.     /** 
  115.      * 查詢單字段,返回整數 
  116.      * @param  $sql 
  117.      * @param  $parameters 
  118.      * @return 
  119.      */ 
  120.     public function queryforint($sql$parameters = null) { 
  121.         $rs = $this->exequery($sql$parameters); 
  122.         if (count($rs) > 0) { 
  123.             return intval($rs[0][0]); 
  124.         } else { 
  125.             return null; 
  126.         } 
  127.     } 
  128.  
  129.     /** 
  130.      * 查詢單字段,返回浮點數(float) 
  131.      * @param  $sql 
  132.      * @param  $parameters 
  133.      * @return 
  134.      */ 
  135.     public function queryforfloat($sql$parameters = null) { 
  136.         $rs = $this->exequery($sql$parameters); 
  137.         if (count($rs) > 0) { 
  138.             return floatval($rs[0][0]); 
  139.         } else { 
  140.             return null; 
  141.         } 
  142.     } 
  143.  
  144.     /** 
  145.      * 查詢單字段,返回浮點數(double) 
  146.      * @param  $sql 
  147.      * @param  $parameters 
  148.      * @return 
  149.      */ 
  150.     public function queryfordouble($sql$parameters = null) { 
  151.         $rs = $this->exequery($sql$parameters); 
  152.         if (count($rs) > 0) { 
  153.             return doubleval($rs[0][0]); 
  154.         } else { 
  155.             return null; 
  156.         } 
  157.     } 
  158.  
  159.     /** 
  160.      * 查詢單字段,返回對象,實際類型有數據庫決定 
  161.      * @param  $sql 
  162.      * @param  $parameters 
  163.      * @return 
  164.      */ 
  165.     public function queryforobject($sql$parameters = null) { 
  166.         $rs = $this->exequery($sql$parameters); 
  167.         if (count($rs) > 0) { 
  168.             return $rs[0][0]; 
  169.         } else { 
  170.             return null; 
  171.         } 
  172.     } 
  173.  
  174.     /** 
  175.      * 執行一條更新語句.insert / upadate / delete 
  176.      * @param  $sql 
  177.      * @param  $parameters 
  178.      * @return  影響行數 
  179.      */ 
  180.     public function update($sql$parameters = null) { 
  181.         return $this->exeupdate($sql$parameters); 
  182.     } 
  183.  
  184.     private function getconnection() { 
  185.         $conn = new pdo(dbconfig::getdsn(), dbconfig::getusername(), dbconfig::getpassword()); 
  186.         $conn->setattribute(pdo::attr_case, pdo::case_upper); 
  187.         return $conn;//開源代碼Vevb.com 
  188.     } 
  189.  
  190.     private function exequery($sql$parameters = null) { 
  191.         $conn = $this->getconnection(); 
  192.         $stmt = $conn->prepare($sql); 
  193.         $stmt->execute($parameters); 
  194.         $rs = $stmt->fetchall(); 
  195.         $stmt = null; 
  196.         $conn = null; 
  197.         return $rs
  198.     } 
  199.  
  200.     private function exeupdate($sql$parameters = null) { 
  201.         $conn = $this->getconnection(); 
  202.         $stmt = $conn->prepare($sql); 
  203.         $stmt->execute($parameters); 
  204.         $affectedrows = $stmt->rowcount(); 
  205.         $stmt = null; 
  206.         $conn = null; 
  207.         return $affectedrows
  208.     } 

pdo始于php5,php6中將默認使用pdo,不同于以前版本中混亂的數據庫操作方式,pdo統一了對數據庫的訪問方式,給編程帶來了極大的便利性,本工具類就是基于pdo,模擬了java世界spring框架中的jdbctemplate操作類.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 始兴县| 渝北区| 沙湾县| 南丹县| 林西县| 昂仁县| 盐亭县| 台南县| 固原市| 靖江市| 民丰县| 和硕县| 宁海县| 斗六市| 昭通市| 丹巴县| 贺州市| 获嘉县| 临朐县| 武隆县| 溆浦县| 临武县| 成都市| 鹤壁市| 盱眙县| 嘉义市| 浦县| 塔城市| 海门市| 甘孜县| 若羌县| 中超| 吴江市| 县级市| 临泽县| 治多县| 武平县| 锡林郭勒盟| 铜梁县| 江达县| 大连市|