PHP insert dữ liệu vào MySQL

Định nghĩa và cách dùng

  • Sử dụng các câu lệnh MySQL để thêm record (hàng) cho table, các câu lệnh này được viết bên trong PHP.
  • Các bước thực hiện:

    • Kết nối database và table.
    • Xử lý dữ liệu.
    • Đóng database.

Cấu trúc insert:

<?php
INSERT INTO tên_table (tên_cột1, tên_cột2 tên_cột3,...)
VALUES (giá_trị1, giá_trị2, giá_trị3,...)
?>
  • tên_table: là tên bảng (tin_xahoi) được tạo xem lại cách tạo table
  • tên_cột: là tên cột (id, title, date, description, content) được thể hiện trong bảng, xem lại cách tạo các cột cách tạo table
  • giá_trị: là những gì mình muốn thêm vào table, các giá trị sẽ tương ứng với các cột (giá_trị1 sẽ được add vào tên_cột1, ...).
  • Chú ý:

    • tên_cột không có, thì giá_trị sẽ không được thêm vào table.
    • Số lượng giá_trị phải tương đồng với số lượng tên_cột, nếu không MySQL sẽ báo lỗi.
    • Nếu giá_trị là kiểu string thì phải được viết bên trong dấu ngoặc kép, hoặc dấu nháy.
    • Nếu giá trị là kiểu int hoặc NULL thì không cần viết bên trong ngoặc kép, hoặc dấu nháy.

Insert trực tiếp

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

<?php
$username = "user_tintuc"; // 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 :" . $conn->connect_error);
    exit();
}

//Code xử lý, insert dữ liệu vào table
$sql = "INSERT INTO tin_xahoi (title, date, description, content)
VALUES ('Tin hot', '2016-10-24', 'Đây là mô tả cho tin hot', 'Đây là nội dung của tin hot')";

if ($connect->query($sql) === TRUE) {
    echo "Thêm dữ liệu thành công";
} else {
    echo "Error: " . $sql . "<br>" . $connect->error;
}

//Đóng database
$connect->close();
?>
Thêm dữ liệu thành công
  • Cột ID không được điền bên trên, vì ID đã được khai báo tự động tăng giá trị lên 1 mỗi khi điền dữ liệu.
  • Nếu kết nối database và taleb chính xác thì trình duyệt sẽ xuất câu thông báo "Thêm dữ liệu thành công".
  • Khi này dữ liệu đã được cập nhật vào bảng, xem lại bảng trong phpMyAdmin sẽ thấy dòng record mới.

Kiểu thủ tục

<?php
$username = "user_tintuc"; // 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 = "INSERT INTO tin_xahoi (title, date, description, content)
VALUES ('Tin hot', '2016-10-24', 'Đây là mô tả cho tin hot', 'Đây là nội dung của tin hot')";

if (mysqli_query($connect, $sql)) {
    echo "Thêm dữ liệu thành công";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($connect);
}

//Đóng database
mysqli_close($connect);
?>
Thêm dữ liệu thành công

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.

THÔNG BÁO LỖI