- Bài 1: Tổng quan về ngôn ngữ lập trình PHP
- Bài 2: Hướng dẫn cài đặt XAMPP
- Bài 3: Cách tạo và chạy một tập tin PHP
- Bài 4: Quy tắc viết mã lệnh cơ bản trong tập tin PHP
- Bài 5: Cách hiển thị nội dung lên màn hình trong PHP
- Bài 6: Cách khai báo biến và hằng số trong PHP
- Bài 7: Cách sử dụng chuỗi trong PHP
- Bài 8: Toán tử và biểu thức trong PHP
- Bài 9: Lệnh điều kiện if ... else trong PHP
- Bài 10: Lệnh switch case trong PHP
- Bài 11: Vòng lặp for và foreach trong PHP
- Bài 12: Vòng lặp while & do while trong PHP
- Bài 13: Cách khai báo và sử dụng hàm (function) trong PHP
- Bài 14: Mảng trong PHP
- Bài 15: Các hàm xử lý mảng
- Bài 16: Các hàm xử lý ngày tháng & thời gian trong PHP
- Bài 17: Các hàm toán học trong PHP
- Bài 18: Các hàm kiểm tra dữ liệu trong PHP
- Bài 19: Upload file lên server với PHP
- Bài 20: Session và Cookie trong PHP
- Bài 21: Mối liên hệ giữa PHP và MySQL
- Bài 22: Kết nối PHP với MySQL
- Bài 23: Insert dữ liệu MySql bằng PHP
- Bài 24: Lấy ID vừa insert bằng PHP
- Bài 25: Insert nhiều record vào MySQL bằng PHP
- Bài 26: Select dữ liệu MySQL bằng PHP
- Bài 27: Delete dữ liệu MySQL bằng PHP
- Bài 28: Update dữ liệu MySQL bằng PHP
Bài 24: Lấy ID vừa insert bằng PHP - Học lập trình PHP cơ bản
Đăng bởi: Admin | Lượt xem: 3025 | Chuyên mục: PHP
Trong các mô hình CSDL có mối quan hệ khóa ngoại nên lúc Insert đôi lúc ta cần lấy giá trị khóa chính của field vừa insert để các table con sử dụng làm khóa ngoại. Lúc này ta phải sử dụng các hàm có sẵn trong PHP để giải quyết.
Mỗi thư viện database trong PHP đều cung cấp những hàm và phương thức giúp lấy ID vừa insert (tức là id cuối cùng).
Đối với thư viện MySQLi thì ta có hàm mysqli_insert_id() và thuộc tính insert_id. Còn đối với PDO thì ta có phương thức lastInsertId().
Sau đây là 3 cách lấy ID vừa insert.
1) Sử dụng MySQLi Object-oriented:
// Tạo kết nối
$conn = new mysqli('localhost', 'root', '', 'demo');
// Kiểm tra kết nối
if ($conn->connect_error) {
die("Kết nối thất bại: " . $conn->connect_error);
}
// Câu SQL Insert
$sql = "INSERT INTO News (title, content)
VALUES ('tieu de', 'noi dung')";
// Thực hiện thêm record
if ($conn->query($sql) === TRUE) {
$last_id = $conn->insert_id;
echo "Thêm record thành công có ID là $last_id";
} else {
echo "Lỗi: " . $sql . "<br>" . $conn->error;
}
// Ngắt kết nối
$conn->close();
2) Sử dụng MySQLi Procedural
// Tạo kết nối
$conn = mysqli_connect('localhost', 'root', '', 'demo');
// Kiểm tra kết nối
if (!$conn) {
die("Kết nối thất bại: " . mysqli_connect_error());
}
// Câu SQL Insert
$sql = "INSERT INTO News (title, content)
VALUES ('tieu de', 'noi dung')";
// Thực hiện thêm record
if (mysqli_query($conn, $sql)) {
$last_id = mysqli_insert_id($conn);
echo "Thêm record thành công có ID là $last_id";
} else {
echo "Lỗi: " . $sql . "<br>" . mysqli_error($conn);
}
// Ngắt kết nối
mysqli_close($conn);
3) Sử dụng PDO:
try {
// Tạo kết nối
$conn = new PDO("mysql:host=localhost;dbname=demo", 'root', '');
// Cấu hình exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Câu SQL Insert
$sql = "INSERT INTO News (title, content)
VALUES ('tieu de', 'noi dung')";
// Thực hiện thêm record
$conn->exec($sql);
$last_id = $conn->lastInsertId();
echo "Thêm record thành công có ID là $last_id";
}
catch (PDOException $e) {
echo $e->getMessage();
}
// Ngắt kết nối
$conn = null;
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!
- Bài 1: Tổng quan về ngôn ngữ lập trình PHP
- Bài 2: Hướng dẫn cài đặt XAMPP
- Bài 3: Cách tạo và chạy một tập tin PHP
- Bài 4: Quy tắc viết mã lệnh cơ bản trong tập tin PHP
- Bài 5: Cách hiển thị nội dung lên màn hình trong PHP
- Bài 6: Cách khai báo biến và hằng số trong PHP
- Bài 7: Cách sử dụng chuỗi trong PHP
- Bài 8: Toán tử và biểu thức trong PHP
- Bài 9: Lệnh điều kiện if ... else trong PHP
- Bài 10: Lệnh switch case trong PHP
- Bài 11: Vòng lặp for và foreach trong PHP
- Bài 12: Vòng lặp while & do while trong PHP
- Bài 13: Cách khai báo và sử dụng hàm (function) trong PHP
- Bài 14: Mảng trong PHP
- Bài 15: Các hàm xử lý mảng
- Bài 16: Các hàm xử lý ngày tháng & thời gian trong PHP
- Bài 17: Các hàm toán học trong PHP
- Bài 18: Các hàm kiểm tra dữ liệu trong PHP
- Bài 19: Upload file lên server với PHP
- Bài 20: Session và Cookie trong PHP
- Bài 21: Mối liên hệ giữa PHP và MySQL
- Bài 22: Kết nối PHP với MySQL
- Bài 23: Insert dữ liệu MySql bằng PHP
- Bài 24: Lấy ID vừa insert bằng PHP
- Bài 25: Insert nhiều record vào MySQL bằng PHP
- Bài 26: Select dữ liệu MySQL bằng PHP
- Bài 27: Delete dữ liệu MySQL bằng PHP
- Bài 28: Update dữ liệu MySQL bằng PHP