Devdit
 

แก้ไขข้อมูล PHP + MySQL ด้วยคำสั่ง UPDATE โดยใช้ mysqli

61

บทความนี้สอนวิธีการแก้ไขข้อมูล (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 );
?>
แก้ไข 1 เดือนที่แล้ว
ชอบ
ลิ้งค์
แชร์