$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db');
mysqli_query($link, "INSERT INTO mytable (1, 2, 3, 'blah')");
$id = mysqli_insert_id($link);
देखें mysqli_insert_id()
।
आप जो कुछ भी करते हैं, सम्मिलित न करें और फिर "SELECT MAX(id) FROM mytable
करें। "। जैसा आप कहते हैं, यह एक दौड़ की स्थिति है और इसकी कोई आवश्यकता नहीं है। mysqli_insert_id()
पहले से ही यह कार्यक्षमता है।
दूसरा तरीका यह होगा कि दोनों प्रश्नों को एक ही बार में चलाया जाए और MySQL
. का उपयोग किया जाए का LAST_INSERT_ID()
विधि, जहां दोनों तालिकाओं को एक साथ संशोधित किया जाता है (और PHP को किसी आईडी की आवश्यकता नहीं है), जैसे:
mysqli_query($link, "INSERT INTO my_user_table ...;
INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())");
<ब्लॉकक्वॉट> नोट कि प्रत्येक कनेक्शन अलग से आईडी का ट्रैक रखता है (इसलिए, विरोध पहले से ही रोका जाता है)।