LastInsertId PHP
Tôi gặp sự cố, mã của tôi chạy chính xác, chèn dữ liệu vào cơ sở dữ liệu, nhưng thông báo thành công sau lastInsertId không hoạt động Show Hãy giúp tôi Những gì tôi đã thử if(isset($_POST['submit'])) { $class=$_POST['class']; $subject=$_POST['subject']; $lesson=$_POST['lesson']; $topic=$_POST['topic']; $date = date('Y-m-d'); $teacherid = $_SESSION['teacherid']; $teachername = $_SESSION['fullname']; $sql = "INSERT INTO homework (class,subject,lesson,topic,`date`,teacherid,teachername) VALUES(:class,:subject,:lesson,:topic,:date2,:teacherid,:teachername)"; $query=$conn->prepare($sql); $query->bindparam(':class',$class,PDO::PARAM_STR); $query->bindparam(':subject',$subject,PDO::PARAM_STR); $query->bindparam(':lesson',$lesson,PDO::PARAM_STR); $query->bindparam(':topic',$topic,PDO::PARAM_STR); $query->bindparam(':date2',$date,PDO::PARAM_STR); $query->bindparam(':teacherid',$teacherid,PDO::PARAM_INT); $query->bindparam(':teachername',$teachername,PDO::PARAM_STR); $query->execute(); $lastInsertId = $conn->lastInsertId(); if($lastInsertId) { echo ""; echo ""; } } Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh Git chấp nhận cả tên thẻ và tên nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi không mong muốn. Bạn có chắc chắn muốn tạo nhánh này không? MySQL có một thuộc tính cột Thúc đẩyNếu bạn thích nội dung được viết ở đây, bằng mọi cách, hãy chia sẻ blog này và (các) bài đăng yêu thích của bạn với những người khác, những người cũng có thể được hưởng lợi hoặc thích nội dung đó. Vì cà phê là thức uống yêu thích của tôi nên bạn thậm chí có thể mua cho tôi một ly nếu muốn. Các loại tăng tự động dành riêng cho nhà cung cấpHầu hết các RDBMS đều hỗ trợ một số dạng thuộc tính cột, loại hoặc từ khóa tăng tự động. Dưới đây là nhiều triển khai phổ biến tại thời điểm viết
PDO là gì?PDO là viết tắt của PHP Data Objects và là giao diện để làm việc với Cơ sở dữ liệu trong PHP. PDO không liên quan đến cơ sở dữ liệu, không giống như mysqli chỉ hoạt động với Cơ sở dữ liệu MySQL và có thể tương tác với một số cơ sở dữ liệu Cấu trúc bảngGiả sử chúng ta có bảng 'user_details' này với 3 cột. 'id', 'first_name' và 'last_name' Hãy thêm một số dữ liệu vào bảng 'user_details' với câu lệnh 1 CHÈN VÀO `người dùng _ chi tiết`(`id`, `first_name`, `last_name`) Bảng 'user_details' hiện có dữ liệu chúng tôi vừa chèn Giá trị tiếp theo cho cột 'id' phải là 3, vì vậy hãy sử dụng PDO và Thông tin kết nốiĐể tương tác với cơ sở dữ liệu, chúng ta cần có kết nối với nó trong PHP. Ở đây chúng tôi sử dụng PDO và thiết lập kết nối cho các hoạt động truy vấn 1 // thông tin kết nối Dữ liệu để lưu trữVới mục đích của bài đăng này, chúng tôi sẽ cho rằng chúng tôi đã thu thập thông tin này từ một biểu mẫu hoặc nguồn khác 1 // Giả sử các giá trị 'đầu vào của người dùng' đã được làm sạch và xác thực. Ghi chú. Luôn đảm bảo các giá trị do người dùng cung cấp được xác thực và làm sạch (không được hiển thị trong ví dụ trên) Tuyên bố đã chuẩn bị và CHÈNVì chúng tôi đang đưa dữ liệu do người dùng thu thập vào cơ sở dữ liệu, nên chúng tôi cần sử dụng (các) câu lệnh đã chuẩn bị để giảm thiểu các cuộc tấn công SQL Injection tiềm ẩn 1 // chuẩn bị câu lệnh chèn Sử dụng lastInsertId() và truy xuất giá trị AUTO_INCREMENT gần đây1 $last_insert_id = $pdo->lastInsertId< . '(); Hoàn thành Mã bằng cách sử dụng các phương pháp hay nhất nói chungTôi đã đính kèm mã hoàn chỉnh của tập lệnh
1 <. --?phpthử { ,'some_user_name',ATTR_ERRMODE, PDO. ERRMODE_EXCEPTION); // . $first_name='Josh'; $insert_stmt=,$first_name);,$last_name); if($insert_stmt- . '. $last_insert_id; $pdo . $e->getMessage(' trong '. $e->getFile( '. '. $e->getLine(?php Quan trọng. Nói chung, cách tốt nhất là ghi bất kỳ lỗi nào vào tệp nhật ký và không gửi các lỗi này vào trình duyệt. Tôi đã làm như vậy trong đoạn mã trên chỉ cho mục đích của bài đăng này nếu chúng tôi gặp lỗi trong quá trình thực thi Sau khi thực thi tập lệnh 1 ID Chèn Cuối cùng . 3 Chúng ta cũng có thể thấy hàng dữ liệu được thêm gần đây trong ảnh chụp màn hình bên dưới Tôi hy vọng phần giới thiệu cấp cao về đề xuất đọcTruy cập các nguồn thông tin này để biết thêm thông tin về (các) chủ đề được đề cập trong bài đăng này
Giống như những gì bạn đã đọc? Lời kêu gọi hành độngCảm ơn bạn đã dành thời gian để đọc bài viết này. Tôi thực sự hy vọng bạn đã khám phá ra điều gì đó thú vị và khai sáng. Vui lòng chia sẻ những phát hiện của bạn ở đây, với người khác mà bạn biết, người cũng sẽ nhận được giá trị tương tự từ nó Truy cập trang Danh mục đầu tư-Dự án để xem bài đăng trên blog/bài viết kỹ thuật mà tôi đã hoàn thành cho khách hàng. Tôi đã đề cập đến việc tôi yêu một tách cà phê đến mức nào chưa?. ? Để nhận thông báo qua email (Không bao giờ là thư rác) từ blog này (“Văn xuôi của cú kỹ thuật số”) cho các bài đăng blog mới nhất khi chúng được xuất bản, vui lòng đăng ký (theo ý muốn của bạn) bằng cách nhấp vào nút 'Nhấp để đăng ký'. ’ trong thanh bên trên trang chủ. (Vui lòng xem lại Trang chính sách bảo mật văn xuôi của Digital Owl bất cứ lúc nào để biết bất kỳ câu hỏi nào bạn có thể có về. cập nhật email, chọn tham gia, từ chối, biểu mẫu liên hệ, v.v.) Hãy chắc chắn và truy cập trang “Hay nhất” để có bộ sưu tập các bài đăng blog hay nhất của tôi. Josh Otwell có niềm đam mê học tập và phát triển với tư cách là Nhà phát triển SQL và người viết blog. Các hoạt động yêu thích khác khiến anh ta chúi mũi vào một cuốn sách hay, một bài báo hoặc dòng lệnh Linux. Trong số đó, anh ấy chia sẻ niềm yêu thích với các trò chơi RPG trên máy tính bảng, đọc tiểu thuyết giả tưởng và dành thời gian cho vợ và hai con gái. từ chối trách nhiệm. Các ví dụ được trình bày trong bài đăng này là những ý tưởng giả định về cách đạt được các loại kết quả tương tự. Chúng không phải là (các) giải pháp tối ưu nhất. Phần lớn, nếu không phải tất cả, các ví dụ được cung cấp, được thực hiện trên môi trường máy trạm học tập/phát triển cá nhân và không nên được coi là chất lượng sản xuất hoặc sẵn sàng. Mục tiêu và nhu cầu cụ thể của bạn có thể thay đổi. Sử dụng những phương pháp có lợi nhất cho nhu cầu và mục tiêu của bạn. Ý kiến là của riêng tôi Làm cách nào để lấy ID được chèn lần cuối trong postgresql PHP?Trong PHP, bạn có thể sử dụng hàm mysqli_insert_id để lấy ID được chèn lần cuối. Trong Codeigniter, Bạn có thể sử dụng hàm insert_id() để lấy giá trị cột tăng tự động mới nhất từ bảng MySQL. insert_id() là chức năng của thư viện "db".
Làm cách nào để lấy ID được chèn lần cuối bằng PDO trong PHP?Bạn có thể sử dụng PDO. lastInsertId() . @ArtGeigel Đây sẽ là ID được chèn cuối cùng của kết nối bên dưới phiên bản PDO.
Làm cách nào để nhận ID mới nhất trong PHP?Trong PHP có một phương thức sẵn có chỉ trả về id chèn cuối cùng theo truy vấn chèn trước đó. . mysqli_insert_id() Nó trả về giá trị cột AUTO_INCREMENT cuối cùng của truy vấn chèn đã thực hiện thành công trước đó. . Ví dụ.
Phần kết luận LAST_INSERT_ID trong MySQL là gì?Hàm LAST_INSERT_ID() trả về id AUTO_INCREMENT của hàng cuối cùng đã được chèn hoặc cập nhật trong bảng . |