PHP的PDO操作簡單示例
來源:易賢網(wǎng) 閱讀:922 次 日期:2016-08-31 14:31:42
溫馨提示:易賢網(wǎng)小編為您整理了“PHP的PDO操作簡單示例”,方便廣大網(wǎng)友查閱!

本文實(shí)例講述了PHP的簡單PDO操作。分享給大家供大家參考,具體如下:

網(wǎng)上關(guān)于PDO的資料很多。這里就不累贅了。

這里我將PDO所有操作封裝到一個(gè)類里方便操作。

類代碼如下:

class DB {

  //pdo對(duì)象

  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(支持事務(wù)) MyISAM(不支持事務(wù))

  echo $db->con->rollBack();

  throw new MyException("事務(wù)測試錯(cuò)誤", $e);

}

$db = NULL;

PDO支持SQL語句以參數(shù)方式調(diào)用,可有效的防止SQL注入。

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:PHP的PDO操作簡單示例
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)