สอนเขียนโปรแกรมแก้ไขข้อมูลจากฐานข้อมูลแบบเชิงวัตถุ (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)
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;
$title = "หนังสือ";
$price = 100;
$sql = "
UPDATE
product
SET
title = '{$title}',
price = '{$price}'
WHERE
( id = '{$id}' )
";
$conn->query( $sql );
if( $conn->affected_rows ) {
echo "แก้ไขข้อมูลสำเร็จ";
} else {
echo "ไม่สามารถแก้ไขข้อมูลได้";
}
$conn->close();
1. โปรแกรมนี้ต้องการแก้ไขสินค้ารหัส (id) ที่ 1 ให้ชื่อสินค้า (title) = หนังสือ และราคา (price) = 100
2. สร้างตัวแปร $sql เพื่อเก็บชุดคำสั่ง SQL สำหรับแก้ไขข้อมูล โดยมีเงื่อนไขตามข้อที่ 1.
3. ใช้คำสั่ง query ในการประมวลผลคำสั่ง SQL
4. เช็คว่าแก้ไขข้อมูลสำเร็จหรือไม่ด้วยคำสั่ง 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 = 1;
$title = "หนังสือ";
$price = 100;
$sql = "
UPDATE
product
SET
title = '{$title}',
price = '{$price}'
WHERE
( id = '{$id}' )
";
$conn->query( $sql );
if( $conn->affected_rows ) {
echo "แก้ไขข้อมูลสำเร็จ";
} else {
echo "ไม่สามารถแก้ไขข้อมูลได้";
}
$conn->close();
?>