XEM MỤC LỤC CÁC BÀI VIẾT PHP
Chèn nhiều bản ghi vào MySQL dùng MySQLi và PDO
Thực hiện nhiều câu
truy vấn SQL ta nên dùng hàm mysqli_multi_query()
Các ví dụ sau thêm
mới 03 bản ghi vào bảng "MyGuests"
Ví dụ (MySQLi hướng đối tượng)
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
// Tạo kết nối
$conn = new mysqli($servername, $username, $password, $dbname);
// Kiểm tra kết nối
if ($conn->connect_error) {
die("Lỗi kết nối: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Nguyễn', 'Tèo', 'ntm@lophocvitinh.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Trần', 'Tủn', 'b@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Lý', 'Tồ', 'c@example.com')";
if ($conn->multi_query($sql) === TRUE) {
echo "Tạo các bản ghi mới thành công!";
} else {
echo "Lỗi: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
// Tạo kết nối
$conn = new mysqli($servername, $username, $password, $dbname);
// Kiểm tra kết nối
if ($conn->connect_error) {
die("Lỗi kết nối: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Nguyễn', 'Tèo', 'ntm@lophocvitinh.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Trần', 'Tủn', 'b@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Lý', 'Tồ', 'c@example.com')";
if ($conn->multi_query($sql) === TRUE) {
echo "Tạo các bản ghi mới thành công!";
} else {
echo "Lỗi: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
Chú
ý rằng mỗi câu truy vấn SQL phân cách nhau bằng dấu ;
Ví dụ (MySQLi thủ tục)
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
// Tạo kết nối
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Kiểm tra kết nối
if (!$conn) {
die("Kết nối thất bại: " . mysqli_connect_error());
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Nguyễn', 'Tèo', 'ntm@lophocvitinh.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Trần', 'Tủn', 'a@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Lý', 'Tồ', 'b@example.com')";
if (mysqli_multi_query($conn, $sql)) {
echo "Tạo các bản ghi mới thành công!";
} else {
echo "Lỗi: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
// Tạo kết nối
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Kiểm tra kết nối
if (!$conn) {
die("Kết nối thất bại: " . mysqli_connect_error());
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Nguyễn', 'Tèo', 'ntm@lophocvitinh.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Trần', 'Tủn', 'a@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Lý', 'Tồ', 'b@example.com')";
if (mysqli_multi_query($conn, $sql)) {
echo "Tạo các bản ghi mới thành công!";
} else {
echo "Lỗi: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
Sử dụng PDO có chút
khác biệt:
Ví dụ (PDO)
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// thiết lập PDO chế độ bắt lỗi bằng ngoại lệ
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// bắt đầu tiến trình
$conn->beginTransaction();
// các câu truy vấn SQL
$conn->exec("INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Nguyễn', 'Tèo', 'ntm@lophocvitinh.com')");
$conn->exec("INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Trần', 'Tủn', 'a@example.com')");
$conn->exec("INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Lý', 'Tồ', 'b@example.com')");
// xác nhận hoàn tất tiến trình
$conn->commit();
echo "Thêm vào các bản ghi thành công!";
}
catch(PDOException $e)
{
// lùi lại tiến trình nếu có lỗi
$conn->rollback();
echo "Lỗi: " . $e->getMessage();
}
$conn = null;
?>
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// thiết lập PDO chế độ bắt lỗi bằng ngoại lệ
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// bắt đầu tiến trình
$conn->beginTransaction();
// các câu truy vấn SQL
$conn->exec("INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Nguyễn', 'Tèo', 'ntm@lophocvitinh.com')");
$conn->exec("INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Trần', 'Tủn', 'a@example.com')");
$conn->exec("INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Lý', 'Tồ', 'b@example.com')");
// xác nhận hoàn tất tiến trình
$conn->commit();
echo "Thêm vào các bản ghi thành công!";
}
catch(PDOException $e)
{
// lùi lại tiến trình nếu có lỗi
$conn->rollback();
echo "Lỗi: " . $e->getMessage();
}
$conn = null;
?>
Ghi
chú: các bạn nên
chèn thêm đoạn mã xử lý unicode như trong các bài trước để hiển thị Tiếng Việt
chính xác.
Nếu vẫn chưa
rõ các bạn xem them video clip sau:
By #drM
Nguồn:
sưu tầm
Không có nhận xét nào:
Đăng nhận xét