บทความนี้สอนวิธีการแก้ไขข้อมูล (UPDATE) ด้วยภาษา PHP ร่วมกับฐานข้อมูล MySQL ด้วยชุดคำสั่ง mysqli โดยมีขั้นตอนวิธีการเขียนโปรแกรมดังนี้
1. สร้างฐานข้อมูล (Database) ชื่อ db_example
2. รันคำสั่ง SQL ด้านล่างเพื่อสร้างตารางข้อมูลชื่อ fruit และเพิ่มข้อมูลเข้าไปในตารางดังกล่าวทั้งหมด 1 ข้อมูล
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
(1, 'orange', 50)
3. เขียนคำสั่ง PHP เชื่อมต่อฐานข้อมูล MySQL
$conn = mysqli_connect("localhost", "root", "", "db_example");
mysqli_query( $conn, "SET NAMES UTF8" );
4. สร้างชุดคำสั่ง UPDATE สำหรับแก้ไขข้อมูลรหัสสินค้า (id) = 1 ให้ชื่อสินค้าคือ berry และราคาเท่ากับ 100 จากตาราง fruit
$id = 1;
$title = "berry";
$price = 100;
$sql = "
UPDATE
fruit
SET
title = '{$title}',
price = '{$price}'
WHERE
( id = '{$id}' )
";
mysqli_query( $conn, $sql );
if( mysqli_affected_rows( $conn ) ) {
echo "แก้ไขข้อมูลสำเร็จ";
} else {
echo "ไม่สามารถแก้ไขข้อมูลได้";
}
4.1 สร้างตัวแปร $id = 1, $title = “berry” และ $price = 100 เพื่อใช้สำหรับเป็นเงื่อนไข และข้อมูลใหม่สำหรับการแก้ไขข้อมูลของรหัสสินค้า (id) = 1
4.2 สร้างตัวแปร $sql เก็บคำสั่ง UPDATE ของภาษา SQL โดยมีเงื่อนไข WHERE id = $id และแก้ไขชื่อสินค้า (title) เป็น berry และราคา (price) เท่ากับ 100
4.3 ประมวลผลคำสั่ง SQL ด้วยคำสั่ง mysqli_query
4.4 กรณีทำงานเสร็จแล้ว มีการเช็คว่าลบข้อมูลสำเร็จรึไม่ ด้วยคำสั่ง mysqli_affected_rows กรณีถ้าลบข้อมูลสำเร็จจะมีค่ามากกว่า 0
ค่าจาก mysqli_affected_rows ขึ้นอยู่กับจำนวนข้อมูลที่ถูกแก้ไขจากฐานข้อมูล MySQL สำเร็จ
4.5 ปิดการเชื่อมต่อฐานข้อมูล MySQL ด้วยคำสั่ง mysqli_close
ตัวอย่าง โปรแกรมแบบเต็ม
<?php
// เชื่อมต่อฐานข้อมูล
$conn = mysqli_connect("localhost", "root", "", "db_example");
mysqli_query( $conn, "SET NAMES UTF8" );
$id = 1;
$title = "berry";
$price = 100;
$sql = "
UPDATE
fruit
SET
title = '{$title}',
price = '{$price}'
WHERE
( id = '{$id}' )
";
mysqli_query( $conn, $sql );
if( mysqli_affected_rows( $conn ) ) {
echo "แก้ไขข้อมูลสำเร็จ";
} else {
echo "ไม่สามารถแก้ไขข้อมูลได้";
}
// ยกเลิกการเชื่อมต่อฐานข้อมูล
mysqli_close( $conn );
?>