อย่างที่บอกไปข้างต้นในกระทู้นี้จะพาทุกคนทำการเชื่อมต่อทั้ง 3 แบบ Procedural mysqli, OOP mysqli, และ PDO เพราะงั้นเรามาทำความรู้จักกับ MySQL กันก่อนดีกว่า
- MySQL หมายถึงระบบฐานข้อมูล MySQL หรือในที่นี้จะหมายถึง MariaDB ด้วยก็ได้ เอาที่สะดวก
- mysqli หมายถึงส่วนเสริม mysqli ของ PHP หรือก็คือฟังก์ชันที่ขึ้นต้นด้วย mysqli_ ทั้งหลายแหล่
PDO
- สามารถตั้งชื่อพารามิเตอร์ใน prepared statement ได้
- สามารถรองรับ lazy binding สามารถ bind parameter ได้ด้วยโค้ดที่สั้นกว่า
- สามารถเขียนได้เฉพาะแบบ OOP เท่านั้น
- สามารถรองรับการเชื่อมต่อฐานข้อมูลหลายตัวมากกว่า
- สามารถเขียนได้ทั้งแบบ OOP และ procedural ทำให้การ migrate จาก mysql นั้นทำได้ง่ายกว่า
- ตัวโค้ดของ mysqli เข้าใจได้ง่ายกว่า
- เปิด XAMPP กดปุ่ม Admin ตรงบรรทัด MySQL
- เข้าสร้างฐานข้อมูล กดที่ New
- ตั้งชื่อ Databae เลือก utf8_genaral_ci
- เปิด VSCode หรือโปรแกรมไรก็ได้ที่ใช้เขียน PHP สร้างไฟล์ connect.php ขึ้นมา(ตรงนี้สามารถตั้งชื่อไรก็ได้นะ)
- เขียนโค้ดการเชื่อมต่อฐานข้อมูลสามารถก๊อปส่วนที่ต้องการไปใช้ได้เลย
ถ้าหากไม่เกิดการ error อะไรก็สามารถเชื่อมต่อได้แล้วหรือหากเอาให้แน่ใจเพิ่มในส่วนของโต้ดตรงนี้เพื่อเช็คการเชื่อมต่อก็ได้
โค้ด: เลือกทั้งหมด
<?php $host = 'localhost'; $username = 'root'; $password = ''; $database = 'mydatabase'; // PDO $pdo = new PDO( "mysql:host={$host}; dbname={$database}", $username, $password, [ PDO::ATTR_EMULATE_PREPARES => false ] ); // OOP mysqli $mysqli = new mysqli( $host, $username, $password, $database ); // Procedural mysqli $mysqli_p = mysqli_connect( $host, $username, $password, $database ); ?>
โค้ด: เลือกทั้งหมด
if($pdo){ echo "pdo เชื่อมต่อสำเร็จ"."</br>"; }

อ้างอิง
http://www.w3bai.com/th/php/php_mysql_connect.html
https://vpn-th.com/how-to-connect-mysql-database-with-php-websites/
https://www.thaicreate.com/windows-azure/windows-azure-web-site-php-mysql-connect.html