WEB ◆ TS Library ◆ 熱衷分享 ◆ 享受教學相長 ◆ 無形的網絡擁有熱情溫度的傳遞

2-10. 學習 PDO 方法連接資料庫

運用 PDO 建立連線資料庫的物件,獨立存檔 ref_test / PDO / conn_pdo.php

<?php
$db_hostname = 'localhost';        //資料庫主機名稱
$db_username = 'root';             //登入資料庫的管理者的帳號
$db_password = 'root';        //登入密碼
$db_name     = 'tsphp';            //使用的資料庫
$db_charset  = 'utf8';             //設定字元編碼

//建立PDO的指定工作(組合字串)
$dsn = "mysql:host=$db_hostname;dbname=$db_name;charset=$db_charset";

//try...catch...是捕獲異常處理
//將要執行處理的工作放在try{之中}
//如果執行中發生異常時, 則跳轉到catch, 由$e收集錯誤訊息再決定輸出
try{
  //使用PDO連接到MySQL資料庫,建立PDO物件($conn這個變數就是這個物件)
  $conn = new PDO($dsn, $db_username, $db_password);

  //當錯誤發生時會將錯誤資訊放到一個類物件裡(PDOException)
  //PDO異常處理,PDO::ATTR_ERRMODE,有以下三種值的設定
  //PDO::ERRMODE_SILENT: 預設模式,不主動報錯,需要以$conn->errorInfo()的形式獲取錯誤資訊
  //PDO::ERRMODE_WARNING: 引發 E_WARNING 錯誤,主動報錯
  //PDO::ERRMODE_EXCEPTION: 主動抛出 exceptions 異常,需要以try{}cath(){}輸出錯誤資訊。
  //設定主動以警告的形式報錯
  $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
} 
//如果連接錯誤,將抛出一個PDOException異常對象
catch ( PDOException $e ){
  //如果連結資料庫失敗則顯示錯誤訊並停止本頁的工作
  die("ERROR!!!". $e->getMessage());
} 

//由於多數頁面皆需要連結到資料庫, 就需要這個檔案
//由於多數頁面都需要啟動session功能, 所以就放在這個檔案
if( !isset($_SESSION) ){ session_start(); }
//指定時區
date_default_timezone_set('Asia/Taipei');

//$conn = null; //關閉資料庫的連線
?>

 

 

go TOP