You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
2.0 KiB
47 lines
2.0 KiB
<?php
|
|
$envFile = __DIR__ . '/.env'; // .env 文件的路径
|
|
|
|
if (file_exists($envFile)) {
|
|
$lines = file($envFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
|
|
if ($lines !== false) {
|
|
foreach ($lines as $line) {
|
|
list($key, $value) = explode('=', $line, 2);
|
|
$key = trim($key);
|
|
$value = trim($value);
|
|
// 设置环境变量
|
|
putenv("$key=$value");
|
|
}
|
|
}
|
|
}
|
|
$db_hostname = getenv('DB_HOST'); //資料庫主機名稱
|
|
$db_username = getenv('DB_USERNAME'); //登入資料庫的管理者的帳號
|
|
$db_password = getenv('DB_PASSWORD'); //登入密碼
|
|
$db_name = getenv('DB_DATABASE'); //使用的資料庫
|
|
$db_charset = 'utf8'; //設定字元編碼
|
|
|
|
//建立PDO的指定工作
|
|
$dsn = "mysql:host=$db_hostname;dbname=$db_name;charset=$db_charset";
|
|
|
|
try {
|
|
//使用PDO連接到MySQL資料庫,建立PDO物件
|
|
$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);
|
|
|
|
$connT8 = new PDO("sqlsrv:Server=220.130.203.251;Database=T8masada", "M0225", "IFFBU1E=");
|
|
if ($connT8) {
|
|
$connT8->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
}
|
|
//如果連接錯誤,將抛出一個PDOException異常對象
|
|
} catch (PDOException $e) {
|
|
//如果連結資料庫失敗則顯示錯誤訊並停止本頁的工作
|
|
die("ERROR!!!: " . $e->getMessage());
|
|
}
|
|
|
|
//$conn = null; //關閉資料庫的連線
|
|
|