亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PDO操作MySql類分享

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

為了讓自己的數據類能夠做到最大化的重用,就寫個能夠重用的PDO操作MySql的類,由于pdo可以連接現在流行的各種數據庫,所以單獨的寫個配置類類來完成不同數據庫DSN的配置,PDO操作MYSQL類代碼如下:

  1. <?php 
  2. /** 
  3.  * 類標準說明    PDO連接數據庫的配置類 
  4.  * 類名:     ConfigDataBase 
  5.  * 功能說明:    為了讓代碼重用,利用此類可以動態的連接各種數據庫 
  6.  * 參數說明:    $_dbms = "mysql教程";    //數據庫類型  
  7.  *         $_host = '127.0.0.1';     //數據庫ip地址 
  8.  *         $_port = '3306';     //數據庫端口 
  9.  *         $_username = 'root';    //數據庫用戶名 
  10.  *        $_password = 'liujijun';   //密碼 
  11.  *         $_dbname = 'zendf';        //數據庫名 默認為zenf 
  12.  *         $_charset = 'utf-8';       //數據庫字符編碼 
  13.  *         $_dsn;//                    //data soruce name 數據源 
  14.  * 
  15.  * 
  16.  * 類屬性說明: 
  17.  * 類方法說明: 
  18.  * 返回值:     不同函數返回不同的值 
  19.  * 備注說明: 
  20.  * 作者:       劉紀君 
  21.  * 最后一次修改時間:    2011下午02:01:39 
  22.  * 
  23.  */ 
  24. class ConfigDataBase { 
  25.    
  26.  protected static $_dbms = "mysql";    //數據庫類型  
  27.     protected static $_host = '127.0.0.1';     //數據庫ip地址 
  28.     protected static $_port = '3306';     //數據庫端口 
  29.     protected static $_username = 'root';    //數據庫用戶名 
  30.     protected static $_password = 'liujijun';   //密碼 
  31.     protected static $_dbname = 'zendf';        //數據庫名 默認為zenf 
  32.     protected static $_charset = 'utf-8';       //數據庫字符編碼 
  33.     protected static $_dsn;//                    //data soruce name 數據源 
  34.   
  35.  /** 
  36.   *@return   返回數據源名 
  37.   */ 
  38.  public static function getDsn() { 
  39.   //將變量的值組合成  mysql:host=localhost;port =3306;dbname=test',$login,$passwd的形式 
  40.   if (!isset(self::$_dsn)){ 
  41.     self::$_dsn = self::$_dbms.':host = '.self::$_host.';prot = '
  42.     self::$_port . ';dbname = ' . self::$_dbname.','
  43.     self::$_username . ','.self::$_password; 
  44.    
  45.     if (strlen(self::$_charset) > 0){ 
  46.      self::$_dsn = self::$_dsn . ';charset = ' . self::$_charset; 
  47.     } 
  48.   } 
  49.   return self::$_dsn;//返回數據源名 
  50.  } 
  51.   
  52.  /** 
  53.   * 功能:設置$dbms 
  54.   * @param $dbms 
  55.   */ 
  56.  public static function setDbms($dbms){ 
  57.   if (isset($dbms) &&(strlen($dbms) > 0 )){ 
  58.    self::$_dbms = trim($dbms); 
  59.   }  
  60.  } 
  61.   
  62.  /** 
  63.   * 
  64.   * @param  $host  //數據庫地址 
  65.   */ 
  66.  public static function setHost($host){ 
  67.   if (isset($host) &&(strlen($host) > 0 )){ 
  68.    self::$_host = trim($host); 
  69.   } 
  70.  } 
  71.  
  72.  /** 
  73.   * 
  74.   * @param $host 端口號 
  75.   */ 
  76.  public static function setPort($port){ 
  77.   if (isset($port) &&(strlen($port) > 0 )){ 
  78.    self::$_post = trim($port); 
  79.   }//開源代碼Vevb.com 
  80.  } 
  81.   
  82.  /** 
  83.   * 
  84.   * @param  $passwd 密碼 
  85.   */ 
  86.  public static function setPasswd($passwd){ 
  87.   if (isset($passwd) &&(strlen($passwd) > 0 )){ 
  88.    self::$_password = trim($passwd); 
  89.   } 
  90.  } 
  91.   
  92.  /** 
  93.   * 
  94.   * @param  $username 用戶名 
  95.   */ 
  96.  public static function setUsernName($username){ 
  97.    if (isset($username) &&(strlen($username) > 0 )){ 
  98.     self::$_username = trim($username); 
  99.    } 
  100.   } 
  101.   
  102.  /** 
  103.   * 
  104.   * @param  $dbname 數據庫名 
  105.   */ 
  106.  public static function setDbName($dbname){ 
  107.    if (isset($dbname) &&(strlen($dbname) > 0 )){ 
  108.     self::$_dbname = trim($dbname); 
  109.    } 
  110.   } 
  111.   
  112.   
  113.   /** 
  114.    * 
  115.    * @param  $charset 數據庫編碼 
  116.    */ 
  117.  public static function setCharset($charset){ 
  118.    if (isset($charset) &&(strlen($charset) > 0 )){ 
  119.     self::$_charset = trim($charset); 
  120.    } 
  121.   } 
  122.  
  123. 下面是對數據庫的操作: 
  124.  
  125.   
  126.  
  127. <?php 
  128.  
  129. require_once 'ConfigDataBase.php'
  130. header("Content-Type: text/html; charset=utf-8");//設置編碼 
  131. /** 
  132.  * 類標準說明 
  133.  * 類名:      PdoMysql 
  134.  * 功能說明:     對數據庫進行各種操作 
  135.  * 參數說明: 
  136.  * 類屬性說明: 
  137.  * 類方法說明: 
  138.  * 返回值: 
  139.  * 備注說明: 
  140.  * 作者:       劉紀君 
  141.  * 最后一次修改時間:    2011上午10:45:36 
  142.  * 
  143.  */ 
  144. class  PdoMysqlOperater{ 
  145.   
  146.   
  147.  /** 
  148.   * @return 返回連接數據庫的句柄 
  149.   */ 
  150.  public function getConnection(){ 
  151.   $connection = NULL; 
  152.   try { 
  153.    $connection = new PDO(ConfigDataBase::getDsn()); 
  154.    echo 'Success'
  155.   } catch (PDOException  $e) { 
  156.    print "Error in connection :".$e->getMessage().' '.die(); 
  157.   } 
  158.   return $connection; 
  159.  } 
  160.   
  161.  /** 
  162.   * 
  163.   * @param  $connection    連接數據庫的句柄 
  164.   */ 
  165.  public function closeConnection($connection){ 
  166.   try { 
  167.    if ($connection != null) { 
  168.     $connection = null;//關閉數據庫連接句柄 
  169.    } 
  170.   } catch (Exception $e) { 
  171.    print 'Close the connectin is error:'.$e->getMessage(); 
  172.   } 
  173.    
  174.  } 
  175.   
  176.  /** 
  177.   * 功能:      向數據庫中增加數據 
  178.   * @param $sql      sql語句 
  179.   */ 
  180.  public  function insertDatabase($sql){ 
  181.   $affect = false;//失敗返回false 
  182.   try { 
  183.    $conn = $this->getConnection(); 
  184.    $conn->exec($sql); 
  185.    $affect = true;//插入成功返回true 
  186.    $this->closeConnection($conn);//關閉數據庫 
  187.   } catch (PDOException $e) { 
  188.    print 'Insert error '.$e->getMessage(); 
  189.   } 
  190.   return $affect;//返回值 
  191.  } 
  192.   
  193.  /** 
  194.   * 
  195.   * @param $id      表的主鍵id 
  196.   * @param $tableName    表名 
  197.   */ 
  198.  public function deleltById($id,$tableName){ 
  199.   $affact = false
  200.   $sql = 'delete from '.trim($tableName).' where id = '.$id; 
  201.   try { 
  202.    $conn = $this->getConnection(); 
  203.    $conn->exec($sql); 
  204.    $this->closeConnection($conn); 
  205.    $affact = true
  206.   } catch (PDOException  $e) { 
  207.    print 'Delelte error is '.$e->getMessage(); 
  208.   } 
  209.   return $affact; 
  210.  } 
  211.   
  212.  /** 
  213.   * 功能:      以and 的形式刪除記錄 
  214.   * @param $tableName    表的名稱 
  215.   * @param $array        數組表中字段名=其值的方式進行組合 
  216.   */ 
  217.  public  function prepareDeleteAnd($tableName,array $array=null){ 
  218.   $sql = 'delete from '. $tableName . ' where '
  219.   $count = count($array);//計算數組的長度 
  220.   $flag = 0;//設置標記 
  221.  
  222.   foreach ($array as $key => $value){ 
  223.    $flag++;//讓flag增加一 
  224.    $sql .= $key .'='."'".$value."'"
  225.    if ($flag != $count ){//當falg不等于count時,數組還有值,后面增加and,反之不增加 
  226.     $sql .= ' and '
  227.    } 
  228.   } 
  229.   echo  $sql;//測試sql語句的組合   
  230.   try { 
  231.    $conn = $this->getConnection();//獲取連接 
  232.    $conn->prepare($sql); 
  233.    $this->closeConnection(); 
  234.   } catch (PDOException $e) { 
  235.    print 'Delete error is '.$e->getMessage(); 
  236.   } 
  237.    
  238.  } 
  239.   
  240.  
  241.  /** 
  242.   * 功能:         以or 的形式刪除記錄 
  243.   * @param $tableName    表的名稱 
  244.   * @param $array        數組表中字段名=其值的方式進行組合 
  245.   */ 
  246.  public  function prepareDeleteOr($tableName,array $array=null){ 
  247.   
  248.   $sql = 'delete from '. $tableName . ' where '
  249.   $count = count($array);//計算數組的長度 
  250.   $flag = 0;//設置標記 
  251.  
  252.   foreach ($array as $key => $value){ 
  253.    $flag++;//讓flag增加一 
  254.    $sql .= $key .'='."'".$value."'"
  255.    if ($flag != $count ){//當falg不等于count時,數組還有值,后面增加and,反之不增加 
  256.     $sql .= ' or '
  257.    } 
  258.   } 
  259.   echo  $sql;//測試sql語句的組合   
  260.   try { 
  261.    $conn = $this->getConnection();//獲取連接 
  262.    $stmt = $conn->prepare($sql); 
  263.    $stmt->execute();//執行 
  264.    $this->closeConnection(); 
  265.   } catch (PDOException $e) { 
  266.    print 'Delete error is '.$e->getMessage(); 
  267.   } 
  268.    
  269.  } 
  270.   
  271.   
  272.  /** 
  273.   * 功能:      取得表中所有數據 
  274.   * @param  $sql     sql語句 
  275.   */ 
  276.  public function getAll($sql){ 
  277.    
  278.   $result = null
  279.   try { 
  280.    $conn = $this->getConnection(); 
  281.    $result = $conn->query($sql); 
  282.    $this->closeConnection($conn); 
  283.   } catch (PDOException $e) { 
  284.    print 'GetAll error is '.$e->getMessage(); 
  285.   } 
  286.  } 
  287.   
  288.   
  289.  /** 
  290.   * 功能:更新數據表中的信息 
  291.   * @param  $table      要更新的表名 
  292.   * @param array $updateFiled    要更新的字段 
  293.   * @param array $updateConditon 更新需要的條件 
  294.   */ 
  295.  public function updateDataBase($table,array $updateFiled,array $updateConditon ){ 
  296.     
  297.   $sql   = 'update from ' .$table .' set '
  298.    
  299.   //對set字段進行賦值操作 
  300.   $count = count($updateFiled);//獲取要修改數組的長度 
  301.   $flag  = 0;//設置標記為0 
  302.   foreach ($updateFiled as $key => $value){ 
  303.    $flag++; 
  304.    $sql .= $key .'='."'".$value."'"
  305.    if ($flag != $count){ 
  306.     $sql .=','
  307.    } 
  308.   } 
  309.   //對where條件進行賦值 
  310.   $countUpdateCondition = count($updateConditon);//獲取要修改數組的長度 
  311.   $flag  = 0;//設置標記為0 
  312.   $sql .= ' where '
  313.   foreach ($updateConditon as $key => $value){ 
  314.    $flag++; 
  315.    $sql .= $key .'='."'".$value."'"
  316.    if ($flag != $countUpdateCondition){ 
  317.     $sql .=' and '
  318.    } 
  319.   } 
  320.   try { 
  321.    $conn = $this->getConnection(); 
  322.    $conn->exec($sql); 
  323.    $this->closeConnection($conn); 
  324.   } catch (PDOException $e) { 
  325.    print 'Update error is :'.$e->getMessage(); 
  326.   } 
  327.    
  328.  } 
  329.   
  330.   
  331.  /** 
  332.   * 功能:      根據表和提高的查詢條件進行查詢 
  333.   * 返回值:      返回結果集 
  334.   * @param  $table    數據表名 
  335.   * @param array $findCondition  查詢條件 
  336.   */ 
  337.  public function findData($table,array $findCondition){ 
  338.    
  339.   $sql = 'select from '.$table .' where '
  340.    
  341.   $count = count($findCondition);//獲取查詢條件數組的長度 
  342.   $flag  = 0;//設置標記為0 
  343.   foreach ($findCondition as $key => $value){ 
  344.    $flag++; 
  345.    $sql .= $key .'='."'".$value."'"
  346.    if ($flag != $count){ 
  347.     $sql .=' and '
  348.    } 
  349.   } 
  350.   try { 
  351.     $conn = $this->getConnection(); 
  352.     $conn->exec($sql); 
  353.     $this->closeConnection($conn); 
  354.    } catch (PDOException $e) { 
  355.     print 'find error is :'.$e->getMessage(); 
  356.    } 
  357.     
  358.   } 
  359. //測試 
  360.  
  361. $db = new PdoMysqlOperater(); 
  362. $db->findData('liujijun',array('name'=>'liujijun','name1'=>'liujijun')); 
  363. ?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲女人天堂网| 亚洲国产精彩中文乱码av| 欧美国产激情18| 亚洲精品狠狠操| 91av视频在线播放| 国产深夜精品福利| 欧美日韩在线观看视频| 日韩欧美国产中文字幕| 亚洲欧美日韩国产中文专区| 国产69精品久久久久99| 成人免费在线视频网站| 97视频在线观看成人| 91精品国产99久久久久久| 国产精品久久久久久婷婷天堂| 国产精品日韩专区| 性欧美视频videos6一9| www.亚洲男人天堂| 中文字幕亚洲第一| 91社区国产高清| 久久久电影免费观看完整版| 亚洲美女av电影| 亚洲大胆人体av| 国产视频观看一区| 日本久久亚洲电影| 欧美午夜片在线免费观看| 精品久久香蕉国产线看观看亚洲| 中文字幕日韩有码| 91欧美精品成人综合在线观看| 78色国产精品| 亚洲二区在线播放视频| 国产一区二区久久精品| 日韩精品视频在线观看网址| 久久久精品国产网站| 欧美天堂在线观看| 久久久亚洲网站| 91香蕉嫩草神马影院在线观看| 91视频国产高清| 久久久久国产精品www| 在线视频日韩精品| 91精品国产高清自在线| 久久久久久久久久久久久久久久久久av| 日韩专区在线观看| 国产69久久精品成人| 欧美一级电影久久| 国产婷婷色综合av蜜臀av| 日本国产欧美一区二区三区| 久久男人av资源网站| 伊人亚洲福利一区二区三区| 精品久久久国产精品999| 中文字幕日韩综合av| 亚洲综合av影视| 日韩av在线影院| 久久久亚洲网站| 日本亚洲欧美三级| 岛国精品视频在线播放| 午夜欧美大片免费观看| 国产精品99久久99久久久二8| 欧美二区在线播放| 亚洲福利在线视频| 亚洲国产古装精品网站| 在线观看国产精品淫| 欧美日韩亚洲激情| 精品欧美激情精品一区| 7777kkkk成人观看| 欧美日韩亚洲高清| 九九热视频这里只有精品| 国产精品免费久久久久久| 日韩精品中文字幕在线播放| 国产亚洲精品久久久久动| 97婷婷涩涩精品一区| 91sao在线观看国产| 中文字幕久久久av一区| 久久久久久91| 亚洲欧美一区二区三区情侣bbw| 日韩大陆毛片av| 国产在线999| 日韩中文字幕在线看| 亚洲欧美国产一本综合首页| 亚洲第一精品夜夜躁人人爽| 日韩av在线天堂网| 欧美日韩国产123| 国产日韩欧美影视| 日韩不卡在线观看| 国产精品久久二区| 国产精品美乳在线观看| 欧美性xxxx极品hd欧美风情| 国产精品美女主播| 一区二区中文字幕| 亚洲精品国产精品乱码不99按摩| 国产精品麻豆va在线播放| 性日韩欧美在线视频| 国产精品视频xxx| 日本久久亚洲电影| 亚洲精品在线91| 久久成人精品电影| 日韩精品黄色网| 国产精品久久99久久| 日韩欧中文字幕| 97在线看免费观看视频在线观看| 欧美激情一区二区三区高清视频| 亚洲伊人成综合成人网| 国产成人精品视| 亚洲а∨天堂久久精品喷水| 国色天香2019中文字幕在线观看| 久久国产精品网站| 亚洲视频电影图片偷拍一区| 国产精品a久久久久久| 欧美日韩亚洲一区二| 亚洲男人天堂九九视频| 在线亚洲欧美视频| 欧美激情亚洲视频| 亚洲欧美国内爽妇网| 国产成人免费av电影| 狠狠色狠狠色综合日日五| 日韩美女在线观看| 欧美限制级电影在线观看| 国产情人节一区| 欧美激情精品久久久| 国产精品久久久久久久美男| 欧美另类精品xxxx孕妇| 成人黄色av免费在线观看| 欧美午夜精品久久久久久人妖| 久久婷婷国产麻豆91天堂| 欧美成人精品一区| 国产日韩精品在线观看| 久久99青青精品免费观看| 国产精品一区二区三区在线播放| 97视频免费在线观看| 亚洲欧美日韩在线高清直播| xxx欧美精品| 97国产精品视频| 亚洲综合成人婷婷小说| 精品国产乱码久久久久酒店| 日韩av最新在线| 国产精品美女久久久久久免费| 亚洲色图日韩av| 亚洲欧洲日产国产网站| 91av在线免费观看| 精品免费在线观看| 日韩电影大全免费观看2023年上| 欧美国产日韩中文字幕在线| 欧美亚洲国产日韩2020| 亚洲欧美精品一区二区| 亚洲欧美在线x视频| 欧美精品久久久久a| 久久激情视频免费观看| 亚洲影院色在线观看免费| 在线观看日韩欧美| 亚洲欧美日韩中文视频| 中文精品99久久国产香蕉| 成人久久久久爱| 欧美激情a∨在线视频播放| 国产欧美日韩91| 日韩av色综合| 亚洲自拍偷拍第一页| 日韩精品视频在线播放| 亚洲性夜色噜噜噜7777| 欧美在线观看日本一区| 国产精品av电影| 久久久精品在线观看| y97精品国产97久久久久久| 精品久久久一区二区| xxxxx91麻豆| 欧美日韩在线视频首页|