PHP เชื่อมต่อฐานข้อมูลด้วย MySQLi แบบ OOP

เนื่องด้วย PHP เวอร์ชั่น 5.6 เป็นต้นมานั้น ได้ยกเลิกคำสั่ง mysql ออกไปแล้ว ทำให้ไม่สามารถใช้คำสั่ง mysql ได้ ก็เลยต้องมาปรับโค้ดใหม่กันนิดนึง เพื่อให้รองรับ mysqli

ทำไมต้องเปลี่ยนเป็น MySQLi ?

MySQLi ย่อมาจาก MySQL improved ก็คือ MySQL ที่เพิ่มความสามารถให้เก่งขึ้นนั่นเอง

และมีข้อดีหลายประการ

  • Object-oriented interface
    รองรับการเขียนโปรแกรมแบบ OOP ซึ่งแน่นอน ข้อมูลที่ได้กลับมาจะเป็น Object
  • Support non-blocking, asynchronous queries with mysqlnd
    รองรับการ Query แบบ Async คือสามารถ INSERT , UPDATE หรือ DELETE โดยไม่จำเป็นต้องรอให้คำสั่งก่อนหน้านั้นเสร็จก่อน สามารถทำคำสั่งถัดไปได้เลย
  • Support for Prepared Statements
    รองรับการทำแบบ Prepared Statements คือป้องกัน SQL Injection ได้ดี
  • Support for Multiple Statements
    รองรับการทำงานหลายคำสั่งพร้อมๆกัน
  • Support for Transactions
    รองรับการทำ Transactions
  • Enhanced debugging capabilities
    ช่วยการ Debug Query Statement ของ MySQL ได้ดีขึ้น
  • Embedded server support
    ส่วนเสริม MySQLi นี้ ฝังมาให้กับตัว PHP เลย ไม่ได้เป็น module เหมือนแต่ก่อน

 

ความสามารถหลักก็คือรองรับ OOP รองรับการเขียนโปรแกรมรูปแบบใหม่ๆมากขึ้น ให้ทันสมัย

 

มาเริ่มกันเลย !!

 

1. เริ่มจากกำหนดตัวแปรที่ใช้สำหรับเชื่อมต่อฐานข้อมูล

 

2. สร้าง Object ของ MySQLi ขึ้นมา แล้วเก็บ Object ไว้ในตัวแปร $db

 

3. ใช้ method connect_errno ตรวจสอบว่าการเชื่อมต่อมีข้อผิดพลาดหรือไม่ ถ้ามีปัญหาก็จะแสดงข้อความ Error ออกมา

 

4. ของ Query ข้อมูลออกมา โดยใช้ method query แล้วนำมาเก็บไว้ในตัวแปร $result

 

5. fetch ข้อมูลที่ได้ให้อยู่ในรูปแบบ Array โดยใช้ method fetch_array (อยู่ในตัวแปร $result) มาเก็บไว้ในตัวแปร $row และใช้คำสั่ง while แสดงข้อมูลทั้งหมดออก

 

สรุปรวมโค้ด

 

ขอให้สนุกกับการเขียนโค้ดนะครับ ^^