Hướng dẫn update mysql php - cập nhật php mysql



Bài này sẽ hướng dẫn bạn update dữ liệu vào MySQL trong PHP bằng cách sử dụng MySQLi và PDO. update dữ liệu vào MySQL trong PHP bằng cách sử dụng MySQLi PDO.

Câu lệnh UPDATE được sử dụng để thay đổi dữ liệu của một hoặc nhiều bản ghi của bảng.

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value 

Lưu ý: mệnh đề WHERE trong câu lệnh UPDATE: Mệnh đề WHERE chỉ định các bản ghi nào cần được cập nhật. Nếu bạn bỏ qua mệnh đề WHERE, tất cả các bản ghi sẽ được cập nhật! : mệnh đề WHERE trong câu lệnh UPDATE: Mệnh đề WHERE chỉ định các bản ghi nào cần được cập nhật. Nếu bạn bỏ qua mệnh đề WHERE, tất cả các bản ghi sẽ được cập nhật!

Giả sử bảng "MyGuests" có 2 bản ghi như sau:

Hướng dẫn update mysql php - cập nhật php mysql

Các ví dụ sau cập nhật bản ghi với id = 2 trong bảng "MyGuests":

Ví dụ (MySQLi hướng đối tượng)

connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "UPDATE MyGuests SET lastname='Tan' WHERE id=2";

if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?>

Ví dụ (MySQLi hướng thủ tục)

Ví dụ (PDO)

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = "UPDATE MyGuests SET lastname='Tan' WHERE id=2";

    // Prepare statement
    $stmt = $conn->prepare($sql);

    // execute the query
    $stmt->execute();

    // hiển thị thông báo Update thành công
    echo $stmt->rowCount() . " records UPDATED successfully";
    }
catch(PDOException $e)
    {
    echo $sql . "
" . $e->getMessage(); } $conn = null; ?>

Dưới đây là bảng "Myguests" sau khi được cập nhật:

Hướng dẫn update mysql php - cập nhật php mysql



  • Trang chủ
  • Hướng dẫn học
  • Học PHP
  • MySQL form update

MySQL form update

  • Bài này sẽ hướng dẫn cách truyền tham số xác định record (hàng) để cập nhật dữ liệu.
  • Các bước thực hiện:

    • Tạo liên kết cập nhật dữ liệu từ trang view.php
    • Khi Click liên kết sẽ truyền tham số sang trang update.php
    • Dựa theo tham số này, đổ dữ liệu vào các giá trị form tương ứng trong trang update.php, submit form tới trang xử lý process.php
    • Kết nối database và table ở trang xử lý.
    • Xử lý dữ liệu dựa theo tham số được gửi.
    • Đóng database.

Trang view.php

Kiểu hướng đối tượng

Kiểu thủ tục

// Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = new mysqli($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if ($connect->connect_error) {
    die("Không kết nối :" . $connect->connect_error);
    exit();
}

//Code xử lý, insert dữ liệu vào table
$sql     = "SELECT * FROM tin_xahoi";
$ket_qua = $connect->query($sql);

//Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
if (!$ket_qua) {
    die("Không thể thực hiện câu lệnh SQL: " . $connect->connect_error);
    exit();
}

//Dùng vòng lặp while truy xuất các phần tử trong table
while ($row = $ket_qua->fetch_array(MYSQLI_ASSOC)) {
    echo "

ID: " . $row['id'] . "

"; echo "

Tiêu đề: " . $row['title'] . "

"; echo "

Ngày: " . $row['date'] . "

"; echo "

Mô tả: " . $row['description'] . "

"; echo "

Nội dung: " . $row['content'] . "

"; //Truyền tham số id tới trang update.php echo "

Update

"; echo "
"; } //Đóng kết nối database tintuc $connect->close(); ?>

Download file ví dụ

Trong file download đã có sẵn file tintuc.sql, file này là file dữ liệu mẫu, sau khi đã tạo database chúng ta có thể đưa dữ liệu từ file tintuc.sql bằng thao tác import có trong phpMyAdmin.

Trang chủ

Hướng dẫn học

Học PHP

Update


MySQL form update

Bài này sẽ hướng dẫn cách truyền tham số xác định record (hàng) để cập nhật dữ liệu.

Các bước thực hiện:

Tạo liên kết cập nhật dữ liệu từ trang view.php

Khi Click liên kết sẽ truyền tham số sang trang update.php

Update


Dựa theo tham số này, đổ dữ liệu vào các giá trị form tương ứng trong trang update.php, submit form tới trang xử lý process.php

Kết nối database và table ở trang xử lý.

Xử lý dữ liệu dựa theo tham số được gửi.

Đóng database.

Trang view.php

Update

Nội dung giống như MySQL view, tuy nhiên ta sẽ thêm một liên kết có tham số tương ứng với mỗi record.
http://localhost:83/tutorial/php/update.php?id=1

Kiểu thủ tục

// Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = mysqli_connect($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if (!$connect) {
    die("Không kết nối :" . mysqli_connect_error());
    exit();
}

//Code xử lý, insert dữ liệu vào table
$sql    = "SELECT * FROM tin_xahoi";
$ket_qua = mysqli_query($connect,$sql);

//Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
if (!$ket_qua) {
    die("Không thể thực hiện câu lệnh SQL: " . mysqli_error($connect));
    exit();
}

//Dùng vòng lặp while truy xuất các phần tử trong table
while ($row = mysqli_fetch_array($ket_qua)) {
    echo "

ID: " . $row['id'] . "

"; echo "

Tiêu đề: " . $row['title'] . "

"; echo "

Ngày: " . $row['date'] . "

"; echo "

Mô tả: " . $row['description'] . "

"; echo "

Nội dung: " . $row['content'] . "

"; //Truyền tham số id tới trang update.php echo "

Update

"; echo "
"; } //Đóng kết nối database tintuc mysqli_close($connect); ?>

ID: 1

Tiêu đề: Tin hot

Ngày: 2016-10-24

Mô tả: Đây là mô tả cho tin hot

Nội dung: Đây là nội dung của tin hot

Update


ID: 2

Tiêu đề: Tin mới

Ngày: 2016-10-28

Mô tả: Mô tả cho tin mới

Nội dung: Nội dung cho tin mới

Update


ID: 2

Tiêu đề: Tin mới

Ngày: 2016-10-28

Mô tả: Mô tả cho tin mới

Nội dung: Nội dung cho tin mới

Update

ID: 2

Tiêu đề: Tin mới

  • Ngày: 2016-10-28

ID:
Tiêu đề:
Ngày tháng:
Mô tả:
Nội dung:

Mô tả: Mô tả cho tin mới

Nội dung: Nội dung cho tin mới

// Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = new mysqli($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if ($connect->connect_error) {
    die("Không kết nối :" . $connect->connect_error);
    exit();
}

//Lấy dữ liệu từ view.php bằng phương thức GET.
if(isset($_GET['id'])){
    $id = $_GET['id'];
    $sql     = "SELECT * FROM tin_xahoi WHERE id='$id'";
    $ket_qua = $connect->query($sql);

    while ($row = $ket_qua->fetch_array(MYSQLI_ASSOC)) {
        $title       = $row['title'];
        $date        = $row['date'];
        $description = $row['description'];
        $content     = $row['content'];
?>


ID:
Tiêu đề:
Ngày tháng:
Mô tả:
Nội dung:
//Đóng vòng lặp while. } //Đóng câu lệnh if. //Đóng kết nối database tintuc $connect->close(); ?>

Hướng dẫn update mysql php - cập nhật php mysql

ID: 3

Tiêu đề: Tiêu đề

// Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = mysqli_connect($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if (!$connect) {
    die("Không kết nối :" . mysqli_connect_error());
    exit();
}

//Lấy dữ liệu từ view.php bằng phương thức GET.
if(isset($_GET['id'])){ 
    $id = $_GET['id'];
    $sql     = "SELECT * FROM tin_xahoi WHERE id='$id'";
    $ket_qua = mysqli_query($connect,$sql);

    while ($row = mysqli_fetch_array($ket_qua)) {
        $title       = $row['title'];
        $date        = $row['date'];
        $description = $row['description'];
        $content     = $row['content'];
?>


ID:
Tiêu đề:
Ngày tháng:
Mô tả:
Nội dung:
//Đóng vòng lặp while. } //Đóng câu lệnh if. //Đóng kết nối database tintuc $connect->close(); ?>

Hướng dẫn update mysql php - cập nhật php mysql

Ngày: 2016-10-29

  • Mô tả: Mô tả cho tiêu đề

Nội dung: Nội dung cho tiêu đề

// Khai báo username
$password = "123456";      // Khai báo password
$server   = "localhost";   // Khai báo server
$dbname   = "tintuc";      // Khai báo database

// Kết nối database tintuc
$connect = new mysqli($server, $username, $password, $dbname);

//Nếu kết nối bị lỗi thì xuất báo lỗi và thoát.
if ($connect->connect_error) {
    die("Không kết nối :" . $connect->connect_error);
    exit();
}

$id          = $_POST['id'];
$title       = $_POST['title'];
$description = $_POST['description'];
$content     = $_POST['content'];

//Code xử lý, update dữ liệu vào table dựa theo điều kiện WHERE tại id = 1
$sql = "UPDATE tin_xahoi SET title='$title', description='$description', content='$content' WHERE id=$id";


if ($connect->query($sql) === TRUE) {
    //Nếu kết quả kết nối thành công, trở về trang view.
    header('Location: view.php');
} else {
    //Nếu kết quả kết nối không được thì trở về update.php đồng thời gán giá trị error=1, dựa theo giá trị này trang update.php có thể thông báo lỗi cần thiết.
    header('Location: update.php?error=1');
}

//Đóng kết nối database tintuc
$connect->close();

Kiểu thủ tục

connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "UPDATE MyGuests SET lastname='Tan' WHERE id=2";

if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?>
0

Trang update.php

Tạo trang form thu thập dữ liệutintuc.sql, file này là file dữ liệu mẫu, sau khi đã tạo database chúng ta có thể đưa dữ liệu từ file tintuc.sql bằng thao tác import có trong phpMyAdmin.