PDO::ERRMODE_EXCEPTION, // ให้แจ้งเตือนเมื่อเกิด Error PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // ให้ Fetch ออกมาเป็น Array ตัวอักษร PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8" // ตั้งค่าภาษาไทย ); // 3. เริ่มทำการเชื่อมต่อ try { // สร้างการเชื่อมต่อ PDO $conn = new PDO("$db_type:host=$hostname;dbname=$dbname;charset=utf8", $user, $password, $options); } catch (PDOException $e) { // กรณีเชื่อมต่อไม่ได้ ให้หยุดการทำงานและแสดง Error die("Connection failed: " . $e->getMessage()); } /** * 4. ดึงข้อมูลจากตาราง web_config เพื่อนำมาใส่ในตัวแปร $web * ตัวแปรนี้จะถูกนำไปใช้ใน header.php (เช่น $web['domain'], $web['title']) */ $web = array(); // ประกาศตัวแปร Array เปล่าไว้ก่อนป้องกัน Error $sql_config = "SELECT * FROM web_config"; $query_config = $conn->prepare($sql_config); try { $query_config->execute(); // วนลูปเพื่อเก็บค่า Configuration ทั้งหมดลงใน Array $web while ($data_config = $query_config->fetch(PDO::FETCH_ASSOC)) { foreach ($data_config as $key => $value) { $web[$key] = $value; } } } catch (PDOException $er) { // แสดงข้อผิดพลาดกรณีดึงข้อมูล Config ไม่ได้ echo "Configuration Error: " . $er->getMessage(); } /** * 5. สำหรับรองรับไฟล์ index.php ที่เรียกใช้ $cdb->conn * หากคุณมี Class control_db ใน function_db.php ตัวแปร $conn นี้จะถูกส่งเข้าไปใช้งาน */ // จบไฟล์ connect.php ?>