当前位置:首页 > PHP教程 > php应用 > 列表

PHP的PDO操作简单示例

发布:smiling 来源: PHP粉丝网  添加日期:2019-10-31 18:46:54 浏览: 评论:0 

本文实例讲述了PHP的简单PDO操作。分享给大家供大家参考,具体如下:

网上关于PDO的资料很多。这里就不累赘了。

这里我将PDO所有操作封装到一个类里方便操作。

类代码如下:

  1. class DB { 
  2.  
  3.   //pdo对象 
  4.  
  5.   public $con = NULL; 
  6.  
  7.   function DB() 
  8.  
  9.   { 
  10.  
  11.     $this->con = new PDO("mysql:host=127.0.0.1;dbname=dbtest""root""xxx"array
  12.  
  13.       PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES `utf8`'
  14.  
  15.       PDO::ATTR_PERSISTENT => TRUE, 
  16.  
  17.     )); 
  18.  
  19.     $this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
  20.  
  21.     $this->con->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER); 
  22.  
  23.   } 
  24.  
  25.   public function query($sql$para = NULL) 
  26.  
  27.   { 
  28.  
  29.     $sqlType = strtoupper(substr($sql, 0, 6)); 
  30.  
  31.     $cmd = $this->con->prepare($sql); 
  32.  
  33.     if($para != NULL) 
  34.  
  35.     { 
  36.  
  37.       $cmd->execute($para); 
  38.  
  39.     } 
  40.  
  41.     else 
  42.  
  43.     { 
  44.  
  45.       $cmd->execute(); 
  46.  
  47.     } 
  48.  
  49.     if($sqlType == "SELECT"
  50.  
  51.     { 
  52.  
  53.       return $cmd->fetchAll();  
  54.  
  55.     } 
  56.  
  57.     if($sqlType == "INSERT"
  58. //phpfensi.com 
  59.     { 
  60.  
  61.       return $this->con->lastInsertId(); 
  62.  
  63.     } 
  64.  
  65.     return $cmd->rowCount(); 
  66.  
  67.   } 
  68.  

使用方法:

  1. include "pdo.php"
  2.  
  3. $db = new DB(); 
  4.  
  5. $subjectList = $db->query("SELECT * FROM `table1`"); 
  6.  
  7. $count = $db->query("UPDATE `table1` SET `name` = 'test' WHERE `id` = :id"array(':id' => 795)); 
  8.  
  9. try 
  10.  
  11.  
  12.   echo $db->con->beginTransaction(); 
  13.  
  14.   $count = $db->con->exec("UPDATE `table1` SET `name` = 'test1' WHERE `id` = 795"); 
  15.  
  16.   $count = $db->con->exec("UPDATE `table1` SET `name1` = 'test22' WHERE `id` = 795"); 
  17.  
  18.   $count = $db->con->exec("UPDATE `table1` SET `name1` = 'test333' WHERE `id` = 795"); 
  19.  
  20.   echo $db->con->commit(); 
  21.  
  22.  
  23. catch (Exception $e
  24. //phpfensi.com 
  25.  
  26.   // MYSQL 的表类型 InnoDB(支持事务) MyISAM(不支持事务) 
  27.  
  28.   echo $db->con->rollBack(); 
  29.  
  30.   throw new MyException("事务测试错误"$e); 
  31.  
  32.  
  33. $db = NULL; 

Tags: PDO

分享到: