PHP insert dữ liệu vào MySQL
- 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 tabletê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 tablegiá_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ượngtê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à table 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
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.