首頁  >  文章  >  後端開發  >  php 的PDO操作簡單範例程式碼

php 的PDO操作簡單範例程式碼

怪我咯
怪我咯原創
2017-07-12 15:52:571207瀏覽

PHP 資料物件 (PDO) 擴充為PHP存取資料庫定義了一個輕量級的一致介面。

PDO 提供了一個資料存取抽象層,這意味著,不管使用哪種資料庫,都可以用相同的函數(方法)來查詢和取得資料。

PDO隨PHP5.1發行,在PHP5.0的PECL擴充中也可以使用,無法運作於先前的PHP版本。

這篇文章主要介紹了PHP的PDO操作,以簡單範例形式分析了PHP操作PDO的簡單連接,初始化及查詢,插入等操作技巧,需要的朋友可以參考下,這裡我將PDO所有操作封裝到一個類別裡方便操作。

類別程式碼如下:

class DB {
  //pdo对象
  public $con = NULL;
  function DB()
  {
    $this->con = new PDO("mysql:host=127.0.0.1;dbname=dbtest", "root", "xxx", array(
      PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES `utf8`',
      PDO::ATTR_PERSISTENT => TRUE,
    ));
    $this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $this->con->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
  }
  public function query($sql, $para = NULL)
  {
    $sqlType = strtoupper(substr($sql, 0, 6));
    $cmd = $this->con->prepare($sql);
    if($para != NULL)
    {
      $cmd->execute($para);
    }
    else
    {
      $cmd->execute();
    }
    if($sqlType == "SELECT")
    {
      return $cmd->fetchAll(); 
    }
    if($sqlType == "INSERT")
    {
      return $this->con->lastInsertId();
    }
    return $cmd->rowCount();
  }
}

使用方法:

include "pdo.php";
$db = new DB();
$subjectList = $db->query("SELECT * FROM `table1`");
$count = $db->query("UPDATE `table1` SET `name` = 'test' WHERE `id` = :id", array(':id' => 795));
try
{
  echo $db->con->beginTransaction();
  $count = $db->con->exec("UPDATE `table1` SET `name` = 'test1' WHERE `id` = 795");
  $count = $db->con->exec("UPDATE `table1` SET `name1` = 'test22' WHERE `id` = 795");
  $count = $db->con->exec("UPDATE `table1` SET `name1` = 'test333' WHERE `id` = 795");
  echo $db->con->commit();
}
catch (Exception $e)
{
  // MYSQL 的表类型 InnoDB(支持事务) MyISAM(不支持事务)
  echo $db->con->rollBack();
  throw new MyException("事务测试错误", $e);
}
$db = NULL;

PDO支援SQL語句以參數方式調用,可有效的防止SQL注入。

以上是php 的PDO操作簡單範例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn