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

  • Trang chủ
  • Hướng dẫn học
  • Học PHP
  • PHP cập nhật dữ liệu vào MySQL

Show

PHP cập nhật dữ liệu vào MySQL

  • Một khi muốn thay đổi dữ liệu đã được thêm trước đó, thì ta cần cập nhật lại dữ liệu với câu lệnh UPDATE có trong MySQL.
  • Các bước thực hiện:

    • Kết nối database và table.
    • Xác định record (hàng) cần cập nhật.
    • Xử lý dữ liệu.
    • Đóng database.

Cấu trúc update:

  • // 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ý, 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='Học có trễ đâu', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1";
    
    //Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
    if ($connect->query($sql) === TRUE) {
        echo "Dữ liệu đã được update";
    } else {
        echo "Lỗi update: " . $connect->error;
    }
    
    //Đóng kết nối database tintuc
    $connect->close();
    ?>
    0: là tên bảng được chọn xem dữ liệ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();
    }
    
    //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='Học có trễ đâu', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1";
    
    //Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
    if ($connect->query($sql) === TRUE) {
        echo "Dữ liệu đã được update";
    } else {
        echo "Lỗi update: " . $connect->error;
    }
    
    //Đóng kết nối database tintuc
    $connect->close();
    ?>
    1: là tên các cột có trong table.
  • // 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ý, 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='Học có trễ đâu', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1";
    
    //Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
    if ($connect->query($sql) === TRUE) {
        echo "Dữ liệu đã được update";
    } else {
        echo "Lỗi update: " . $connect->error;
    }
    
    //Đóng kết nối database tintuc
    $connect->close();
    ?>
    2: giá trị cần thay đổ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();
    }
    
    //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='Học có trễ đâu', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1";
    
    //Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
    if ($connect->query($sql) === TRUE) {
        echo "Dữ liệu đã được update";
    } else {
        echo "Lỗi update: " . $connect->error;
    }
    
    //Đóng kết nối database tintuc
    $connect->close();
    ?>
    3: giá trị nhận biết record (hàng) cần update.

Cập nhật dữ liệu

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

// 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ý, 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='Học có trễ đâu', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1";

//Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
if ($connect->query($sql) === TRUE) {
    echo "Dữ liệu đã được update";
} else {
    echo "Lỗi update: " . $connect->error;
}

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

Ứng với điều kiện WHERE id=1, tương ứng với record (hàng) thứ 1, khi này chỉ record này được cập nhật.WHERE id=1, tương ứng với record (hàng) thứ 1, khi này chỉ record này được cập nhật.

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ý, 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='Học có trễ đâu1', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1";

//Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
if (mysqli_query($connect, $sql)) {
    echo "Dữ liệu đã được update";
} else {
    echo "Lỗi update: " . mysqli_error($connect);
}

//Đóng database
mysqli_close($connect);
?>

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.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.

  • Xử lý tham số truyền từ trang view.php - Kiểu hướng đối tượng
  • Xử lý tương tự trang view, tuy nhiên ở câu lệnh
    // 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ý, 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='Học có trễ đâu', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1";
    
    //Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
    if ($connect->query($sql) === TRUE) {
        echo "Dữ liệu đã được update";
    } else {
        echo "Lỗi update: " . $connect->error;
    }
    
    //Đóng kết nối database tintuc
    $connect->close();
    ?>
    6 ta gán điều kiện
    // 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ý, 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='Học có trễ đâu', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1";
    
    //Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
    if ($connect->query($sql) === TRUE) {
        echo "Dữ liệu đã được update";
    } else {
        echo "Lỗi update: " . $connect->error;
    }
    
    //Đóng kết nối database tintuc
    $connect->close();
    ?>
    7, để xác định dữ liệu nào cần cập nhật.
  • Ở hàng ID có 2 dữ liệu, 1 dùng để hiện thị để xem, 1 dùng để gửi sang trang xử lý, để dạng ẩn. Tới đây ta đã xong phần truyền tham số vào form.
  • Xử lý tham số truyền từ trang view.php - Kiểu thủ tục

Xử lý tham số truyền từ trang view.php - Kiểu thủ tục

  • Trang xử lý process.php
  • Nội dung trang này là nhận dữ liệu được submit từ trang update.php, sau đó xử lý cập nhật dữ liệu vào database, trả kết quả về cho trang view.php nếu thành công, hoặc về update.php nếu xảy ra lỗi.

    • Kiểu hướng đối tượng
    • Kiểu thủ tục
    • 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

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

Trang update.php

// 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(); ?>

Tạo trang form thu thập dữ liệu

Trang này cấu trúc form tương tự như trang dùng insert dữ liệu, có thể ID để dễ xác định và truyền dữ liệu.

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: 3

Tiêu đề: Tiêu đề

Ngày: 2016-10-29

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

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

Update

Khi giữ con trỏ chuột vào liên kết

// 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ý, 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='Học có trễ đâu', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1";

//Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
if ($connect->query($sql) === TRUE) {
    echo "Dữ liệu đã được update";
} else {
    echo "Lỗi update: " . $connect->error;
}

//Đóng kết nối database tintuc
$connect->close();
?>
4, ta sẽ thấy có tham số
// 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ý, 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='Học có trễ đâu', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1";

//Nếu kết quả kết nối không được thì xuất báo lỗi và thoát
if ($connect->query($sql) === TRUE) {
    echo "Dữ liệu đã được update";
} else {
    echo "Lỗi update: " . $connect->error;
}

//Đóng kết nối database tintuc
$connect->close();
?>
5 có giá trị khác nhau ở mỗi record:http://localhost:83/tutorial/php/update.php?id=1
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: 3

Tiêu đề: Tiêu đề

Ngày: 2016-10-29

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

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

Update

Khi giữ con trỏ chuột vào liên kết connect_error) { die("Không kết nối :" . $connect->connect_error); exit(); } //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='Học có trễ đâu', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1"; //Nếu kết quả kết nối không được thì xuất báo lỗi và thoát if ($connect->query($sql) === TRUE) { echo "Dữ liệu đã được update"; } else { echo "Lỗi update: " . $connect->error; } //Đóng kết nối database tintuc $connect->close(); ?>4, ta sẽ thấy có tham số connect_error) { die("Không kết nối :" . $connect->connect_error); exit(); } //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='Học có trễ đâu', content='Đây là nội dung của bài viết Học có trễ đâu' WHERE id=1"; //Nếu kết quả kết nối không được thì xuất báo lỗi và thoát if ($connect->query($sql) === TRUE) { echo "Dữ liệu đã được update"; } else { echo "Lỗi update: " . $connect->error; } //Đóng kết nối database tintuc $connect->close(); ?>5 có giá trị khác nhau ở mỗi record:http://localhost:83/tutorial/php/update.php?id=1

Kiểu thủ tục

  • ID: 1

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

Tiêu đề: Tin hot

Ngày: 2016-10-24

// 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 php mysql - cập nhật php mysql

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

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

// 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 php mysql - cập nhật php mysql

Trang update.php

  • Tạo trang form thu thập dữ liệu

Trang này cấu trúc form tương tự như trang dùng insert dữ liệu, có thể ID để dễ xác định và truyền dữ liệ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

// 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();
}

$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 (mysqli_query($connect, $sql)) {
    //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
mysqli_close($connect);

ID: 1

Tiêu đề: Tin hottintuc.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.