Php & MySQL-Cập nhật dữ liệu vào bảng

Để cập nhật dữ liệu vào bảng trong MySQL bằng PHP, chúng ta sử dụng câu lệnh UPDATE. Dưới đây là cách sử dụng câu lệnh này để cập nhật dữ liệu vào bảng trong MySQL bằng PHP:

  1. Sử dụng mysqli_query():
// Thông tin kết nối MySQL
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

// Tạo kết nối
$conn = mysqli_connect($servername, $username, $password, $dbname);

// Kiểm tra kết nối
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

// Câu lệnh UPDATE
$sql = "UPDATE table_name SET column1 = 'new_value1', column2 = 'new_value2' WHERE id = 1";

if (mysqli_query($conn, $sql)) {
    echo "Record updated successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

// Đóng kết nối
mysqli_close($conn);
  1. Sử dụng PDO::prepare()PDOStatement::execute():
// Thông tin kết nối MySQL
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

// Tạo kết nối
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // Thiết lập chế độ lỗi
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    // Câu lệnh UPDATE
    $sql = "UPDATE table_name SET column1 = :new_value1, column2 = :new_value2 WHERE id = :id";
    
    // Chuẩn bị câu lệnh SQL
    $stmt = $conn->prepare($sql);
    
    // Gán giá trị cho các tham số
    $stmt->bindParam(':new_value1', $new_value1);
    $stmt->bindParam(':new_value2', $new_value2);
    $stmt->bindParam(':id', $id);
    
    // Gán giá trị cho các biến
    $new_value1 = 'new_value1';
    $new_value2 = 'new_value2';
    $id = 1;
    
    // Thực thi câu lệnh SQL
    $stmt->execute();
    
    echo "Record updated successfully";
} catch(PDOException $e) {
    echo "Error: " . $e->getMessage();
}

// Đóng kết nối
$conn = null;

Lưu ý rằng trong câu lệnh SQL UPDATE, các giá trị được cập nhật cần phải phù hợp với kiểu dữ liệu của các cột trong bảng tương ứng. Ngoài ra, điều kiện trong câu lệnh WHERE cũng cần được xác định chính xác để đảm bảo chỉ cập nhật dữ liệu cho các bản ghi cần thiết.

Cập nhật bảng categories

function update_category($id, $name, $img){
    global $pdo;
    $sql = "UPDATE CATEGORIES SET NAME=:name, IMG=:img WHERE ID=:id";
    $stmt = $pdo->prepare($sql);

   
    $stmt->bindParam(':name', $name);
    $stmt->bindParam(':img', $img);
    $stmt->bindParam(':id', $id);

    $stmt->execute();
}

Cập nhật bảng products

Cập nhật bảng orders

<?php

require_once './core/mysql.php';

$pdo = get_pdo();

//update order
function update_order($code, $status, $user_id, $id){
    $sql = "UPDATE ORDERS SET CODE=:code, STATUS=:status WHERE ID=:id";
    global $pdo;
    $stmt = $pdo->prepare($sql);
    
    $stmt->bindParam(':code', $code);
    $stmt->bindParam(':status', $status);
    $stmt->bindParam(':user_id', $user_id);
    $stmt->bindParam(':id', $id);

   
    $stmt->bindParam(':code', $code);
    $stmt->bindParam(':status', $status);
    $stmt->bindParam(':id', $id);

    $stmt->execute();
}

Cập nhật bảng order_items

<?php

require_once './core/mysql.php';

$pdo = get_pdo();

//update order
function update_order_detail($product_id, $order_id, $quantity){
    $sql = "UPDATE ORDER_ITEMS SET PRODUCT_ID=:product_id, ORDER_ID=:order_id, QUANTITY=:quantity WHERE ID=:id";
    global $pdo;
    $stmt = $pdo->prepare($sql);
   
    $stmt->bindParam(':product_id', $product_id);
    $stmt->bindParam(':order_id', $order_id);
    $stmt->bindParam(':quantity', $quantity);

    $stmt->execute();
}

Cập nhật bảng users