บทความนี้สอนวิธีการดึงข้อมูลจากฐานข้อมูล MySQL มาแสดงที่หน้าเว็บไซต์ด้วยภาษา PHP โดยใช้ชุดคำสั่ง mysqli มีขั้นตอนวิธีการเขียนโปรแกรมดังนี้
ตัวอย่าง PHP ดึงข้อมูลจากฐานข้อมูล MySQL และแสดงที่หน้าเว็บไซต์
1. สร้างฐานข้อมูล (Database) ชื่อ db_example
2. รันคำสั่ง SQL ด้านล่างเพื่อสร้างตารางข้อมูลชื่อ fruit และเพิ่มข้อมูลเข้าไปในตารางดังกล่าวทั้งหมด 5 ข้อมูล
CREATE TABLE fruit (
id int(11) NOT NULL AUTO_INCREMENT,
title char(255) NOT NULL,
price int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO fruit (id, title, price) VALUES
(NULL, 'orange', 50),
(NULL, 'apple', 60),
(NULL, 'banana', 40),
(NULL, 'mango', 70),
(NULL, 'berry', 80)
3. เขียนคำสั่ง PHP เชื่อมต่อฐานข้อมูล MySQL
$conn = mysqli_connect("localhost", "root", "", "db_example");
mysqli_query( $conn, "SET NAMES UTF8" );
4. สร้างชุดคำสั่ง SELECT สำหรับดึงข้อมูลจากตาราง fruit มาแสดงที่หน้าเว็บไซต์
$sql = " SELECT * FROM fruit ";
$q = mysqli_query( $conn, $sql );
while( $f = mysqli_fetch_assoc( $q ) ) {
echo $f['title']." - ".$f['price']."<br/>";
}
mysqli_close( $conn );
4.1 สร้างตัวแปร $sql เก็บคำสั่ง SELECT ของภาษา SQL โดยเป็นการดึงข้อมูลทั้งหมดในตารางแบบไม่มีเงื่อนไข
4.2 ประมวลผลคำสั่ง SQL ด้วยคำสั่ง mysqli_query
4.3 ใช้ลูป while เพื่อวนข้อมูลจากคำสั่ง mysqli_fetch_assoc
4.4 ภายในลูป while ใช้คำสั่ง echo แสดงข้อมูลชื่อผลไม้ (title) และราคา (price) ออกมาที่หน้าเว็บไซต์ และวนจนครบข้อมูล
4.4 ปิดการเชื่อมต่อฐานข้อมูล MySQL ด้วยคำสั่ง mysqli_close
ผลลัพธ์
orange - 50
apple - 60
banana - 40
mango - 70
berry - 80
ตัวอย่าง โปรแกรมแบบเต็ม
<?php
// เชื่อมต่อฐานข้อมูล
$conn = mysqli_connect("localhost", "root", "", "db_example");
mysqli_query( $conn, "SET NAMES UTF8" );
$sql = " SELECT * FROM fruit ";
$q = mysqli_query( $conn, $sql );
while( $f = mysqli_fetch_assoc( $q ) ) {
echo $f['title']." - ".$f['price']."<br/>";
}
// ยกเลิกการเชื่อมต่อฐานข้อมูล
mysqli_close( $conn );
?>