Devdit
 

ลบข้อมูล PHP + MySQL ด้วยคำสั่ง DELETE FROM โดยใช้ mysqli

164

บทความนี้สอนวิธีการลบข้อมูล (DELETE FROM) ด้วยภาษา PHP ร่วมกับฐานข้อมูล MySQL ด้วยชุดคำสั่ง mysqli โดยมีขั้นตอนวิธีการเขียนโปรแกรมดังนี้

 

1. สร้างฐานข้อมูล (Database) ชื่อ db_example

 

2. รันคำสั่ง SQL ด้านล่างเพื่อสร้างตารางข้อมูลชื่อ fruit และเพิ่มข้อมูลเข้าไปในตารางดังกล่าวทั้งหมด 3 ข้อมูล

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),
(2, 'apple', 60),
(3, 'banana', 40)

 

3. เขียนคำสั่ง PHP เชื่อมต่อฐานข้อมูล MySQL

$conn = mysqli_connect("localhost", "root", "", "db_example");
mysqli_query( $conn, "SET NAMES UTF8" );

 

4. สร้างชุดคำสั่ง DELETE FROM สำหรับลบข้อมูลรหัสสินค้า (id) = 1 จากตาราง fruit

$id = 1;
$sql = "
        DELETE FROM fruit 
        WHERE
        ( id = '{$id}' )     
        ";
mysqli_query( $conn, $sql );
if( mysqli_affected_rows( $conn ) ) {
    echo "ลบข้อมูลสำเร็จ";
} else {
    echo "ไม่สามารถลบข้อมูลได้";
}

mysqli_close( $conn );

4.1 สร้างตัวแปร $id = 1 เพื่อใช้สำหรับเป็นเงื่อนไขในการลบข้อมูลจากรหัสสินค้า (id) = 1

4.2 สร้างตัวแปร $sql เก็บคำสั่ง DELETE FROM ของภาษา SQL โดยมีเงื่อนไข WHERE id = $id 

4.3 ประมวลผลคำสั่ง SQL ด้วยคำสั่ง mysqli_query เมื่อทำงานเสร็จแล้ว มีการเช็คว่าลบข้อมูลสำเร็จรึไม่ ด้วยคำสั่ง mysqli_affected_rows กรณีถ้าลบข้อมูลสำเร็จจะมีค่ามากกว่า 0 

ค่าจาก mysqli_affected_rows ขึ้นอยู่กับจำนวนข้อมูลที่ลบจากฐานข้อมูล MySQL สำเร็จ

4.4 ปิดการเชื่อมต่อฐานข้อมูล MySQL ด้วยคำสั่ง mysqli_close

 

ตัวอย่าง โปรแกรมแบบเต็ม

<?php
    // เชื่อมต่อฐานข้อมูล
    $conn = mysqli_connect("localhost", "root", "", "db_example");
    mysqli_query( $conn, "SET NAMES UTF8" );

    $id = 1;
    $sql = "
            DELETE FROM fruit 
            WHERE
            ( id = '{$id}' )     
           ";
    mysqli_query( $conn, $sql );
    if( mysqli_affected_rows( $conn ) ) {
        echo "ลบข้อมูลสำเร็จ";
    } else {
        echo "ไม่สามารถลบข้อมูลได้";
    }

    // ยกเลิกการเชื่อมต่อฐานข้อมูล
    mysqli_close( $conn );
?>
แก้ไข 4 เดือนที่แล้ว
ชอบ
ลิ้งค์
แชร์