จัดการการเชื่อมต่อ PHP PDO
การเชื่อมต่อโดยการสร้างตัวอย่างของชั้นฐาน PDO จัดตั้ง โดยไม่คำนึงถึงคนขับรถที่ใช้ PDO ชื่อชั้น
เชื่อมต่อกับ MySQL
<?php $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); ?>
หมายเหตุ: หากมีข้อผิดพลาดการเชื่อมต่อใด ๆ จะโยน PDOException ยกเว้นวัตถุ
จัดการข้อผิดพลาดการเชื่อมต่อ
<?php try { $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); foreach($dbh->query('SELECT * from FOO') as $row) { print_r($row); } $dbh = null; } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); } ?>
หลังจากที่ข้อมูลการเชื่อมต่อที่ประสบความสำเร็จกลับมาอินสแตนซ์ของคลาส PDO เพื่อสคริปต์ในชีวิตของการเชื่อมต่อนี้วัตถุ PDO ยังคงใช้งาน
เพื่อปิดการเชื่อมต่อที่คุณจะต้องทำลายวัตถุในการสั่งซื้อเพื่อให้แน่ใจว่าการอ้างอิงที่เหลือทั้งหมดมันจะถูกลบออกคุณสามารถกำหนดค่าเป็น NULL ตัวแปรวัตถุ
ถ้าคุณไม่ทำอย่างนั้น, PHP ในตอนท้ายของสคริปต์โดยอัตโนมัติจะปิดการเชื่อมต่อ
เพื่อปิดการเชื่อมต่อ:
<?php $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); // 在此使用连接 // 现在运行完成,在此关闭连接 $dbh = null; ?>
การใช้งานเว็บหลายคนได้รับประโยชน์ผ่านการใช้การเชื่อมต่อแบบถาวรให้การบริการฐานข้อมูล
การเชื่อมต่อแบบถาวรจะไม่ถูกปิดท้ายของสคริปต์และแคชเมื่อสคริปต์อื่นใช้ร้องขอการเชื่อมต่อข้อมูลประจำตัวเดียวกันจะนำกลับมาใช้
เชื่อมต่อแบบถาวรแคชแต่ละครั้งสคริปต์ที่จำเป็นต้องหลีกเลี่ยงค่าใช้จ่ายของการสร้างการเชื่อมต่อฐานข้อมูลใหม่กับคำตอบเพื่อให้เว็บที่งานได้เร็วขึ้น
การเชื่อมต่อแบบถาวร
<?php $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array( PDO::ATTR_PERSISTENT => true )); ?>
หมายเหตุ: หากคุณต้องการที่จะใช้การเชื่อมต่อแบบถาวรคุณจะต้องผ่านอาร์เรย์ของตัวเลือกที่จะขับรถ PDO คอนสตรัคตั้ง PDO :: ATTR_PERSISTENT หากคุณกำลังหลังวัตถุที่จะเริ่มต้นด้วย PDO :: setAttribute () เพื่อตั้งค่าคุณสมบัตินี้ขับจะไม่ใช้การเชื่อมต่อแบบถาวร
คู่มือการใช้งาน PHP PDO อ้างอิง