สำหรับ PHP 5 ขึ้นไป ขอแนะนำให้ใช้วิธีต่อไปนี้เพื่อเชื่อมต่อกับ MySQL:
ส่วนขยาย MySQLi ("i" หมายถึงปรับปรุงแล้ว)
PDO (วัตถุข้อมูล PHP)
ใน PHP เวอร์ชันก่อนหน้า เราใช้ส่วนขยาย MySQL อย่างไรก็ตาม ส่วนขยายนี้เลิกใช้แล้วตั้งแต่ปี 2012
หากคุณต้องการคำตอบสั้นๆ "ใช้อะไรก็ได้ที่คุณพอใจ"
MySQLi และ PDO มีข้อดีในตัวเอง:
PDO ใช้ในฐานข้อมูลที่แตกต่างกัน 12 แห่ง และ MySQLi กำหนดเป้าหมายเฉพาะฐานข้อมูล MySQL เท่านั้น
ดังนั้น หากโปรเจ็กต์ของคุณจำเป็นต้องสลับระหว่างหลายฐานข้อมูล ขอแนะนำให้ใช้ PDO เพื่อที่คุณจะต้องแก้ไขสตริงการเชื่อมต่อและคำสั่งแบบสอบถามบางรายการเท่านั้น ด้วย MySQLi หากคุณใช้ฐานข้อมูลอื่น คุณจะต้องเขียนโค้ดทั้งหมดใหม่ รวมถึงการสืบค้นด้วย
ทั้งสองเป็นแบบเชิงวัตถุ แต่ MySQLi ยังมีอินเทอร์เฟซ API อีกด้วย
ทั้งสนับสนุนข้อความที่เตรียมไว้ คำสั่งที่เตรียมไว้สามารถป้องกันการแทรก SQL และมีความสำคัญมากต่อความปลอดภัยของโครงการเว็บ
ในบทนี้และบทต่อไปนี้ เราจะใช้สามวิธีต่อไปนี้เพื่อสาธิตการทำงานของ PHP MySQL:
MySQLi (เชิงวัตถุ)
MySQLi (เน้นขั้นตอน)
สปส
Linux และ Windows: ในกรณีส่วนใหญ่ ส่วนขยาย MySQLi จะถูกติดตั้งโดยอัตโนมัติเมื่อมีการติดตั้งแพ็คเกจ php5 mysql
สำหรับรายละเอียดการติดตั้ง โปรดดู: http://php.net/manual/en/mysqli.installation.php
คุณสามารถตรวจสอบว่าการติดตั้งสำเร็จหรือไม่ผ่าน phpinfo():
สำหรับรายละเอียดการติดตั้ง โปรดดู: http://php.net/manual/en/pdo.installation.php
คุณสามารถตรวจสอบว่าการติดตั้งสำเร็จหรือไม่ผ่าน phpinfo():
ก่อนที่เราจะเข้าถึงฐานข้อมูล MySQL เราจำเป็นต้องเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลก่อน:
โปรดทราบว่า $connect_error ในตัวอย่างเชิงวัตถุด้านบนถูกเพิ่มใน PHP 5.2.9 และ 5.3.0 หากคุณต้องการความเข้ากันได้กับเวอร์ชันก่อนหน้า โปรดใช้โค้ดต่อไปนี้เพื่อแทนที่: // ตรวจสอบการเชื่อมต่อถ้า (mysqli_connect_error()) { die("การเชื่อมต่อฐานข้อมูลล้มเหลว: " . mysqli_connect_error());} |
โปรดทราบว่าในตัวอย่าง PDO ข้างต้นเราได้ระบุฐานข้อมูล (myDB) PDO จำเป็นต้องตั้งชื่อฐานข้อมูลในระหว่างกระบวนการเชื่อมต่อ ถ้าไม่ระบุ จะเกิดข้อยกเว้น |
การเชื่อมต่อจะถูกปิดโดยอัตโนมัติหลังจากเรียกใช้สคริปต์ คุณยังสามารถใช้รหัสต่อไปนี้เพื่อปิดการเชื่อมต่อ: