PHP MySQL अंतिम सम्मिलित आईडी प्राप्त करें
अंतिम सम्मिलित रिकॉर्ड की आईडी प्राप्त करें
यदि हम AUTO_INCREMENT फ़ील्ड वाली तालिका पर INSERT या UPDATE निष्पादित करते हैं, तो हम अंतिम सम्मिलित/अपडेट किए गए रिकॉर्ड की आईडी तुरंत प्राप्त कर सकते हैं।
तालिका "MyGuests" में, "id" कॉलम एक AUTO_INCREMENT फ़ील्ड है:
CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
निम्नलिखित उदाहरण पिछले पृष्ठ के उदाहरणों के बराबर हैं ( PHP इन्सर्ट डेटा इनटू MySQL ), सिवाय इसके कि हमने अंतिम सम्मिलित रिकॉर्ड की आईडी को पुनः प्राप्त करने के लिए कोड की एक सिंगल लाइन जोड़ी है। हम अंतिम सम्मिलित आईडी को भी प्रतिध्वनित करते हैं:
उदाहरण (MySQLi ऑब्जेक्ट-ओरिएंटेड)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]')";
if ($conn->query($sql) === TRUE) {
$last_id = $conn->insert_id;
echo "New record created successfully. Last inserted ID is: " . $last_id;
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
उदाहरण (MySQLi प्रक्रियात्मक)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]')";
if (mysqli_query($conn, $sql)) {
$last_id = mysqli_insert_id($conn);
echo "New record created successfully. Last inserted ID is: " . $last_id;
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
उदाहरण (पीडीओ)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]')";
// use exec() because no results are returned
$conn->exec($sql);
$last_id = $conn->lastInsertId();
echo "New record created successfully. Last inserted ID is: " . $last_id;
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>