Devdit
 

PHP แก้ไขข้อมูลแบบเชิงวัตถุ (OOP) ด้วย mysqli

1.1K

สอนเขียนโปรแกรมแก้ไขข้อมูลจากฐานข้อมูลแบบเชิงวัตถุ (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();
?>
แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ