PHP MySQL: সর্বশেষ ইনসার্ট হওয়া রেকর্ডের ID পাওয়া
MySQL-এ যখন আপনি কোন নতুন রেকর্ড ইনসার্ট করেন, তখন অনেক সময় সেই রেকর্ডের প্রধান কী (Primary Key) বা ID জানা জরুরি হয়ে পড়ে। PHP-তে আপনি সহজেই সেই **Last Inserted ID** বের করতে পারেন।
এই টিউটোরিয়ালে আমরা দেখাবো কিভাবে এটি কাজ করে —
✅ MySQLi দিয়ে Last Inserted ID
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "my_new_database";
$conn = new mysqli($host, $user, $pass, $db);
if ($conn->connect_error) {
die("সংযোগ ব্যর্থ: " . $conn->connect_error);
}
$sql = "INSERT INTO users (name, email) VALUES ('Hasib', 'hasib@example.com')";
if ($conn->query($sql) === TRUE) {
$last_id = $conn->insert_id;
echo "✅ নতুন রেকর্ড ইনসার্ট হয়েছে। Last Inserted ID হলো: " . $last_id;
} else {
echo "❌ ইনসার্ট ত্রুটি: " . $conn->error;
}
$conn->close();
?>
ব্যাখ্যা: $conn->insert_id ব্যবহার করে আপনি সর্বশেষ ইনসার্ট হওয়া রেকর্ডের অটো-ইনক্রিমেন্ট ID পেতে পারেন।
✅ PDO দিয়ে Last Inserted ID
<?php
$host = "localhost";
$dbname = "my_new_database";
$user = "root";
$pass = "";
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->execute([
':name' => 'Rafi',
':email' => 'rafi@example.com'
]);
$last_id = $pdo->lastInsertId();
echo "✅ PDO: সর্বশেষ ইনসার্ট হওয়া ID: " . $last_id;
} catch (PDOException $e) {
echo "❌ ত্রুটি: " . $e->getMessage();
}
?>
PDO-তে: $pdo->lastInsertId() ফাংশন ব্যবহার করে সর্বশেষ ইনসার্ট হওয়া ID পাওয়া যায়।
উপসংহার
- MySQLi ব্যবহার করলে
$conn->insert_id - PDO ব্যবহার করলে
$pdo->lastInsertId()
✅ আপনি যদি ইনসার্ট করার পরেই ইউজারকে রিডাইরেক্ট করতে চান বা তার ডেটা নিয়ে আরও কিছু করতে চান, তাহলে এই ID খুবই কাজে আসে।