ปลั๊กอิน WordPress ของฉันมีตารางที่มีช่องคีย์หลักAUTO_INCREMENT ที่เรียกว่า ID เมื่อแทรกแถวใหม่ลงในตารางฉันต้องการรับค่า ID ของการแทรก
คุณลักษณะคือการใช้ AJAX เพื่อโพสต์ข้อมูลไปยังเซิร์ฟเวอร์เพื่อแทรกลงใน DB ID แถวใหม่จะถูกส่งคืนในการตอบสนอง AJAX เพื่ออัพเดตสถานะไคลเอ็นต์ เป็นไปได้ว่าไคลเอนต์หลายรายกำลังโพสต์ข้อมูลไปยังเซิร์ฟเวอร์ในเวลาเดียวกัน ดังนั้นฉันต้องแน่ใจว่าคำขอ AJAX แต่ละรายการได้รับ ID แถวใหม่ที่แน่นอนในการตอบสนอง
ใน PHP มีเมธอดที่เรียกว่าmysql_insert_idสำหรับฟีเจอร์นี้ แต่จะใช้ได้กับสภาพการแข่งขันก็ต่อเมื่ออาร์กิวเมนต์เป็นlink_identifierของการดำเนินการล่าสุด การดำเนินการกับฐานข้อมูลของฉันอยู่ที่ $ wpdb วิธีแยกlink_identifierจาก $ wpdb เพื่อให้แน่ใจว่า mysql_insert_id ใช้งานได้ มีวิธีอื่นในการรับ id แถวสุดท้ายจาก $ wpdb หรือไม่?
ขอบคุณ.
$wpdb->dbh
แต่ถูกกำหนดเป็นprotected $dbh;
... คุณไม่สามารถเข้าถึงได้โดยตรงดังนั้นให้ใช้คำตอบด้านล่าง :)