สอนเขียนโปรแกรมลบข้อมูลจากฐานข้อมูลแบบเชิงวัตถุ (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)
3. เชื่อมต่อฐานข้อมูล
$conn = new mysqli("localhost", "root", "", "db_example");
if ($conn->connect_errno) {
echo "ไม่สามารถเชื่อมต่อฐานข้อมูลได้เพราะ ".$mysqli->connect_error;
}
$conn->query( "SET NAMES UTF8" );
4. เขียนโปรแกรมลบข้อมูลจากฐานข้อมูลแบบ OOP
$id = 1;
$sql = " DELETE FROM product WHERE ( id = '{$id}' ) ";
$conn->query( $sql );
if( $conn->affected_rows ) {
echo "แก้ไขข้อมูลสำเร็จ";
} else {
echo "ไม่สามารถแก้ไขข้อมูลได้";
}
$conn->close();
1. สร้างตัวแปร $id มีค่าเท่ากับ 1 เพื่อใช้เป็นเงื่อนไขในการลบข้อมูลรหัส (id) ที่ 1
2. สร้างตัวแปร $sql เพื่อเก็บคำสั่ง SQL สำหรับลบสินค้ารหัสที่ 1 (ตามรหัสที่เก็บในตัวแปร $id)
3. ใช้คำสั่ง query เพื่อประมวลผลคำสั่ง SQL
4. ใช้คำสั่ง affected_rows เพื่อเช็คว่าลบข้อมูลสำเร็จหรือไม่ กรณีลบสำเร็จ affected_rows จะส่งค่ากลับมามากว่า 0 (ค่าตามแถวข้อมูลที่ถูกลบ)
5. ปิดการเชื่อมต่อด้วยคำสั่ง close
ตัวอย่าง โปรแกรมแบบเต็ม
<?php
$conn = new mysqli("localhost", "root", "", "db_example");
if ($conn->connect_errno) {
echo "ไม่สามารถเชื่อมต่อฐานข้อมูลได้เพราะ ".$mysqli->connect_error;
}
$conn->query( "SET NAMES UTF8" );
$id = 6;
$sql = " DELETE FROM product WHERE ( id = '{$id}' ) ";
$conn->query( $sql );
if( $conn->affected_rows ) {
echo "แก้ไขข้อมูลสำเร็จ";
} else {
echo "ไม่สามารถแก้ไขข้อมูลได้";
}
$conn->close();
?>