Cập nhật dữ liệu trong MySQL bằng PHP sử dụng Prepared Statements để tránh SQL Injection

Hướng dẫn cách sử dụng Prepared Statements trong PHP để cập nhật dữ liệu trong MySQL một cách an toàn và hiệu quả. Mã PHP này giúp tránh các lỗ hổng SQL Injection khi thao tác với cơ sở dữ liệu.

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

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

// Kiểm tra kết nối
if ($conn->connect_error) {
    die("Kết nối không thành công: " . $conn->connect_error);
}

// Chuẩn bị câu lệnh SQL với placeholders
$sql = "UPDATE table_name SET column1 = ?, column2 = ? WHERE id = ?";

// Tạo Prepared Statement
$stmt = $conn->prepare($sql);

if ($stmt === false) {
    die("Chuẩn bị câu lệnh không thành công: " . $conn->error);
}

// Liên kết tham số với câu lệnh
$stmt->bind_param("ssi", $value1, $value2, $id);

// Gán giá trị cho tham số
$value1 = "New Value 1";
$value2 = "New Value 2";
$id = 1;

// Thực thi câu lệnh
if ($stmt->execute()) {
    echo "Cập nhật dữ liệu thành công!";
} else {
    echo "Lỗi khi cập nhật dữ liệu: " . $stmt->error;
}

// Đóng kết nối
$stmt->close();
$conn->close();
?>

Giải thích chi tiết:

  1. Tạo kết nối:

    • new mysqli($servername, $username, $password, $dbname): Tạo kết nối đến cơ sở dữ liệu MySQL.
  2. Kiểm tra kết nối:

    • if ($conn->connect_error): Kiểm tra xem có lỗi kết nối không.
  3. Chuẩn bị câu lệnh SQL với placeholders:

    • UPDATE table_name SET column1 = ?, column2 = ? WHERE id = ?: Sử dụng dấu hỏi (?) làm placeholders cho các tham số.
  4. Tạo Prepared Statement:

    • $conn->prepare($sql): Tạo một đối tượng Prepared Statement.
  5. Liên kết tham số với câu lệnh:

    • $stmt->bind_param("ssi", $value1, $value2, $id): Liên kết các tham số với câu lệnh SQL. Các ký tự "ssi" chỉ định loại dữ liệu của các tham số (s cho chuỗi, i cho số nguyên).
  6. Gán giá trị cho tham số:

    • $value1 = "New Value 1";, $value2 = "New Value 2";, $id = 1;: Gán giá trị cụ thể cho các tham số.
  7. Thực thi câu lệnh:

    • if ($stmt->execute()): Thực thi câu lệnh và kiểm tra kết quả.
  8. Đóng kết nối:

    • $stmt->close();, $conn->close();: Đóng Prepared Statement và kết nối cơ sở dữ liệu.

Phiên bản PHP:

Mã này có thể chạy trên các phiên bản PHP từ 5.0 trở lên và yêu cầu extension MySQLi.



Các Hướng Dẫn Cùng Chủ Đề Đang Xem

Tạo ứng dụng chat đơn giản sử dụng Socket.IO trong PHP

Hướng dẫn từng bước để tạo ứng dụng chat đơn giản bằng Socket.IO trong PHP, giúp bạn hiểu rõ cách sử dụng WebSocket để tạo ra trải nghiệm giao tiếp thời gian thực.
Cập nhật nhiều cột trong MySQL bằng PHP

Hướng dẫn cách cập nhật nhiều cột trong MySQL bằng PHP. Mã PHP này sử dụng câu lệnh UPDATE để thay đổi nhiều giá trị của các cột trong cơ sở dữ liệu MySQL.
Tạo thumbnail cho hình ảnh bằng PHP

Hướng dẫn cách tạo thumbnail cho hình ảnh bằng PHP với sự hỗ trợ của thư viện GD. Mã PHP này giúp tạo ảnh thu nhỏ từ ảnh gốc với kích thước tùy chỉnh.
Cách kiểm tra chuỗi con trong chuỗi lớn bằng PHP

Hướng dẫn cách sử dụng hàm `strpos` trong PHP để kiểm tra sự tồn tại của chuỗi con trong một chuỗi lớn. Đây là phương pháp đơn giản và hiệu quả để xử lý chuỗi trong PHP.
Cập nhật dữ liệu trong MySQL bằng PHP

Hướng dẫn cách cập nhật dữ liệu trong MySQL bằng PHP. Đoạn mã này sẽ sử dụng câu lệnh SQL UPDATE để thay đổi thông tin trong cơ sở dữ liệu MySQL một cách dễ dàng.
Lấy ký tự cuối cùng của chuỗi trong PHP

Hướng dẫn cách sử dụng PHP để lấy ký tự cuối cùng của một chuỗi. Mã PHP này giúp bạn dễ dàng truy xuất ký tự cuối của chuỗi văn bản trong các thao tác xử lý chuỗi.
Lấy nội dung từ database MySQL bằng PHP

Hướng dẫn cách lấy nội dung từ database MySQL sử dụng PHP. Bao gồm mã nguồn và giải thích chi tiết từng bước để kết nối và truy vấn cơ sở dữ liệu MySQL.
Hướng dẫn upload nhiều hình ảnh trong PHP

Hướng dẫn chi tiết cách upload nhiều hình ảnh cùng lúc trong PHP, bao gồm xử lý file tải lên, kiểm tra định dạng và lưu trữ trên server.
Ví dụ về Factory Pattern trong PHP

Hướng dẫn về Factory Pattern trong PHP với ví dụ cụ thể giúp bạn hiểu rõ cách sử dụng mẫu thiết kế này trong lập trình hướng đối tượng.
Tạo watermark cho hình ảnh bằng PHP

Hướng dẫn cách thêm watermark cho hình ảnh bằng PHP sử dụng thư viện GD. Mã PHP này cho phép thêm watermark văn bản hoặc hình ảnh lên ảnh gốc.

Đã thêm vào giỏ hàng