PHP Cơ bản
PHP Nâng cao
PHP & Cơ sở dữ liệu MySQL
Ví dụ PHP
Tài liệu tham khảo PHP
Quảng cáo

Update dữ liệu trong PHP bằng PDO

Hướng dẫn Update dữ liệu trong PHP bằng PDO chi tiết thông qua các ví dụ cụ thể: Positional Placeholders, Named Placeholders, sử dụng phương thức bindParam()

Để cập nhật dữ liệu thông qua PDO trong PHP các bạn cần có một cơ sở dữ liệu, trong hướng dẫn này, mình sẽ hướng dẫn các bạn thông qua cập nhật thông tin một bài viết, để tạo cơ sở dữ liệu bạn xem bài viết Tích hợp TinyMCE trong PHP & MySQL bằng Ajax chúng ta sẽ sử dụng bảng dữ liệu ở bài viết đó. Sau đây chúng ta sẽ đi vào từng ví dụ cụ thể:

Cập nhật PDO với phần giữ chỗ vị trí (Positional Placeholders)

Trình giữ chỗ vị trí ẩn danh ngắn gọn và dễ sử dụng hơn

Ví dụ

<?php

$host     = 'localhost';
$db       = 'demophp';
$user     = 'root';
$password = '';

$dsn = "mysql:host=$host;dbname=$db;charset=UTF8";

try {
     $conn = new PDO($dsn, $user, $password, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);

} catch (PDOException $e) {
     echo $e->getMessage();
}

$data = [
     'test title 2 - update', 'content 2 - update', 2
];

$sql = "UPDATE posts SET title=?, content=? WHERE id=?";

$statement = $conn->prepare($sql);

if($statement->execute($data)) {
  echo "Post updated successfully!";
}

?>

Cập nhật PDO với phần giữ chỗ được đặt tên (Named Placeholders)

Nếu bạn muốn một mảng được xác định trước rõ ràng hơn với các giá trị, ví dụ này là dành cho bạn. Xem mã bên dưới:

Ví dụ

<?php

$host     = 'localhost';
$db       = 'demophp';
$user     = 'root';
$password = '';

$dsn = "mysql:host=$host;dbname=$db;charset=UTF8";

try {
     $conn = new PDO($dsn, $user, $password, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);

} catch (PDOException $e) {
     echo $e->getMessage();
}

$data = [
     'title'=>'test title 2.1 - update', 
     'content' => 'content 2.1 - update', 
     'id' => 2
];

$sql = "UPDATE posts SET title=:title, content=:content WHERE id=:id";

$statement = $conn->prepare($sql);

if($statement->execute($data)) {
  echo "Post updated successfully!";
}

?>

Cập nhật PDO với phần giữ chỗ được đặt tên sử dụng phương thức bindParam()

Phướng thức bindParam() được sử dụng để liên kết một tham số với biến được chỉ định trong câu lệnh SQL

Ví dụ

<?php

$host     = 'localhost';
$db       = 'demophp';
$user     = 'root';
$password = '';

$dsn = "mysql:host=$host;dbname=$db;charset=UTF8";

try {
     $conn = new PDO($dsn, $user, $password, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);

} catch (PDOException $e) {
     echo $e->getMessage();
}

$data = [
     'title'=>'test title 2.2 - update', 
     'content' => 'content 2.2 - update', 
     'id' => 2
];

$sql = "UPDATE posts SET title=:title, content=:content WHERE id=:id";

$statement = $conn->prepare($sql);

$statement->bindParam(':id', $data['id'], PDO::PARAM_INT);
$statement->bindParam(':title', $data['title']);
$statement->bindParam(':content', $data['content']);

if($statement->execute()) {
     echo "Post updated successfully!";
}

Bài viết này đã giúp ích cho bạn?

Advertisements