สอนเขียนโปรแกรมดึงและแสดงข้อมูลจากฐานข้อมูลแบบเชิงวัตถุ (OOP) ด้วยภาษา PHP ร่วมกับฐานข้อมูล MySQL ด้วยคำสั่ง mysqli สามารถเขียนโปรแกรมได้ดังนี้
1. สร้างฐานข้อมูล (Database) ชื่อ db_example
2. รันคำสั่ง SQL ด้านล่างเพื่อสร้างตารางข้อมูลชื่อ product
CREATE TABLE product (
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 product (id, title, price) VALUES
(NULL, 'ยางลบ', 50),
(NULL, 'ดินสอ', 40),
(NULL, 'ปากกา', 80),
(NULL, 'กางเกง', 90),
(NULL, 'เสื้อผ้า', 100)
3. เชื่อมต่อฐานข้อมูล
$conn = new mysqli("localhost", "root", "", "db_example");
if ($conn->connect_errno) {
echo "ไม่สามารถเชื่อมต่อฐานข้อมูลได้เพราะ ".$mysqli->connect_error;
}
$conn->query( "SET NAMES UTF8" );
4. เขียนโปรแกรมแสดงข้อมูลจากฐานข้อมูลแบบ OOP
$sql = " SELECT * FROM product ";
$q = $conn->query( $sql );
while( $f = $q->fetch_assoc() ) {
echo $f['id']." - ".$f['title']." - ".$f['price']."<br/>";
}
$conn->close();
1. สร้างตัวแปร $sql เก็บคำสั่ง SQL เพื่อแสดงข้อมูลทั้งหมดในตาราง product
2. สร้างตัวแปร $q เก็บการประมวลผลคำสั่ง SQL
3. ใช้คำสั่ง fetch_assoc เพื่อดึงข้อมูลจากตัวแปร $q แล้วส่งต่อให้ตัวแปร $f เพื่อนำไปแสดง โดยใช้ while loop ในการวนข้อมูล
4. ภายในวงเล็บใช้คำสั่ง echo เพื่อพิมพ์ข้อมูล id, title และ price ออกมา
ผลลัพธ์
5 - หนังสือ - 100
6 - หนังสือ - 100
7 - ยางลบ - 50
8 - ดินสอ - 40
ตัวอย่าง โปรแกรมแบบเต็ม
<?php
$conn = new mysqli("localhost", "root", "", "db_example");
if ($conn->connect_errno) {
echo "ไม่สามารถเชื่อมต่อฐานข้อมูลได้เพราะ ".$mysqli->connect_error;
}
$conn->query( "SET NAMES UTF8" );
$sql = " SELECT * FROM product ";
$q = $conn->query( $sql );
while( $f = $q->fetch_assoc() ) {
echo $f['id']." - ".$f['title']." - ".$f['price']."<br/>";
}
$conn->close();
?>