การเชื่อมต่อ PHP MySQL
PHP 5 หรือสูงกว่าและแนะนำวิธีต่อไปนี้ในการเชื่อมต่อ MySQL:
- MySQLi ส่วนขยาย ( "ฉัน" หมายความว่าที่เพิ่มขึ้น)
- PDO (วัตถุ PHP ข้อมูล)
ในรุ่นแรก ๆ ของ PHP, เราใช้นามสกุล MySQL อย่างไรก็ตามการขยายตัวในปี 2012 จะไม่แนะนำ
ผมใช้ MySQLi หรือ PDO?
หากคุณต้องการคำตอบสั้น ๆ ว่าเป็น "สิ่งที่คุณเคยใช้ที่."
MySQLi และ PDO มีข้อดีของตัวเอง:
การใช้งานใน 12 PDO ฐานข้อมูลที่แตกต่างกัน MySQLi เฉพาะสำหรับฐานข้อมูล MySQL
ดังนั้นถ้าคุณต้องการที่จะเปลี่ยนโครงการในความหลากหลายของฐานข้อมูลก็จะแนะนำให้ใช้ PDO ดังนั้นคุณจะต้องปรับเปลี่ยนสตริงการเชื่อมต่อและหน่วยงานสามารถสอบถาม ใช้ MySQLi ถ้าฐานข้อมูลที่แตกต่างกันที่คุณจำเป็นต้องเขียนโค้ดทั้งหมดรวมทั้งคำสั่ง
ทั้งสองเป็นวัตถุ แต่ยังมีอินเตอร์เฟซที่ MySQLi API
สนับสนุนทั้งจัดทำงบ งบเตรียมการป้องกันการฉีด SQL สำหรับการรักษาความปลอดภัยของโครงการเว็บเป็นสิ่งสำคัญมาก
MySQLi และการเชื่อมต่อเช่น PDO MySQL
ในบทนี้และบทต่อไปเราจะใช้ต่อไปนี้สามวิธีที่จะแสดงให้เห็นถึงการดำเนินงาน PHP MySQL:
- MySQLi (object-oriented)
- MySQLi (ที่มุ่งเน้นกระบวนการ)
- PDO
การติดตั้ง MySQLi
Linux และ Windows: เมื่อขยาย MySQLi แพคเกจ MySQL PHP5 มีการติดตั้งในกรณีส่วนใหญ่มีการติดตั้งโดยอัตโนมัติ
การติดตั้งสำหรับข้อมูลเพิ่มเติมโปรดดูที่: http://php.net/manual/en/mysqli.installation.php
ผ่าน phpinfo () เพื่อดูว่าการติดตั้งก็ประสบความสำเร็จ:
การติดตั้ง PDO
สำหรับรายละเอียดการติดตั้งโปรดดูที่: http://php.net/manual/en/pdo.installation.php
ผ่าน phpinfo () เพื่อดูว่าการติดตั้งก็ประสบความสำเร็จ:
การเชื่อมต่อ MySQL
ก่อนที่เราจะแวะไปที่ฐานข้อมูล MySQL, เราจำเป็นต้องเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูล:
ตัวอย่าง (MySQLi - Object Oriented)
$ Servername = "localhost";
$ username = "ชื่อผู้ใช้";
รหัสผ่าน $ = "รหัสผ่าน";
// สร้างการเชื่อมต่อ
$ Conn = mysqli ใหม่ ($ ServerName, $ ชื่อผู้ใช้รหัสผ่าน $);
// ทดสอบการเชื่อมต่อ
ถ้า ($ conn-> connect_error) {
ตาย ( "การเชื่อมต่อล้มเหลว:" $ conn-> connect_error.);
}
echo "ประสบความสำเร็จในการเชื่อมต่อ";
?>
โปรดทราบว่าในตัวอย่างข้างต้น object-oriented $ connect_error ใน PHP 5.2.9 และ 5.3.0 มีการเพิ่ม หากคุณจำเป็นต้องเข้ากันได้กับรุ่นก่อนหน้านี้โปรดใช้รหัสต่อไปนี้แทน: // ทดสอบการเชื่อมต่อ ถ้า (mysqli_connect_error ()) { ตาย ( "เชื่อมต่อฐานข้อมูลล้มเหลว:" mysqli_connect_error ().); } |
ตัวอย่าง (MySQLi - ที่มุ่งเน้นกระบวนการ)
$ Servername = "localhost";
$ username = "ชื่อผู้ใช้";
รหัสผ่าน $ = "รหัสผ่าน";
// สร้างการเชื่อมต่อ
$ Conn = mysqli_connect ($ ServerName, $ ชื่อผู้ใช้รหัสผ่าน $);
// ทดสอบการเชื่อมต่อ
ถ้า (! $ Conn) {
ตาย ( "การเชื่อมต่อล้มเหลว:" mysqli_connect_error ().);
}
echo "ประสบความสำเร็จในการเชื่อมต่อ";
?>
ตัวอย่างของ (PDO)
$ Servername = "localhost";
$ username = "ชื่อผู้ใช้";
รหัสผ่าน $ = "รหัสผ่าน";
try {
$ Conn = ใหม่ PDO ( "MySQL: host = $ servername; dbname = myDB", $ ชื่อผู้ใช้รหัสผ่าน $);
echo "ประสบความสำเร็จในการเชื่อมต่อ";
}
catch (PDOException $ E)
{
echo $ E-> getMessage ();
}
?>
ทราบว่าในตัวอย่างข้างต้นที่เราได้ระบุไว้ในฐานข้อมูล PDO (myDB) PDO ระหว่างการเชื่อมต่อที่คุณจะต้องตั้งชื่อฐานข้อมูล ถ้าไม่ได้ระบุยกเว้นจะโยน |
ปิดการเชื่อมต่อ
การเชื่อมต่อจะปิดโดยอัตโนมัติหลังจากการดำเนินการสคริปต์ นอกจากนี้คุณยังสามารถใช้รหัสต่อไปนี้เพื่อปิดการเชื่อมต่อ: