運用 PDO 建立連線資料庫的物件,獨立存檔 ref_test / PDO / mb_conn.php
<?php
$db_hostname = 'localhost'; //資料庫主機名稱
$db_username = 'root'; //登入資料庫的管理者的帳號
$db_password = 'root'; //登入密碼
$db_name = 'tsphp'; //使用的資料庫
$db_charset = 'utf8'; //設定字元編碼
// 連線資料庫
/**
* 運用 try{...}catch(){} 物件導向的捕捉異常處理
* 運用 try 處理要執行的工作
* 如果發生異常則跳轉到 catch 會捕捉到錯誤資訊, 存放在變數$e, 並停止 try 的工作
*/
try{
// 設定要進入的資料庫類型:主機;資料庫名稱;編碼
$dsn = "mysql:host=$db_hostname;dbname=$db_name;charset=$db_charset";
// 使用PDO連接到MySQL資料庫,建立PDO物件($conn這個變數就是這個物件)
// 創建出PDO物件( 要進入的資料庫, 帳號, 密碼 )
$conn = new PDO($dsn, $db_username, $db_password);
/**
* 當錯誤發生時會將錯誤資訊放到一個類物件裡(PDOException)以$e變數存放
* 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; //關閉資料庫的連線
?>