گرفتن آخرین ID (MySQL Get Last ID)
گاهی بعد از درج رکورد، لازم است «آخرین ID» را بدانیم. «ID» همان شناسه یکتا است. معمولاً با «AUTO_INCREMENT» خودکار زیاد می شود. حالا راه های ساده گرفتن آخرین ID را می بینیم.
چرا آخرین ID مهم است؟
با آخرین ID می توانیم رکورد تازه را پیدا کنیم. سپس می توانیم جزئیاتش را نمایش دهیم. یا آن را به جدول های دیگر ربط دهیم. این کار مثل شماره رسید خرید است.
MySQLi شی گرا: گرفتن آخرین ID
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')";
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 رویه ای: گرفتن آخرین ID
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')";
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);
?>
PDO: گرفتن آخرین ID
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')";
$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;
?>
مراحل عملی سریع (با تمرکز روی آخرین ID)
- اتصال را بساز و خطا را چک کن.
- INSERT را اجرا کن و نتیجه را ببین.
- آخرین ID را با تابع مربوطه بگیر.
منابع و ادامه مسیر
- درج داده را مرور کن.
- درج چندرکوردی را یاد بگیر.
- آخرین ID را به پروژه خودت اضافه کن.
جمع بندی سریع
- آخرین ID بعد از INSERT در دسترس است.
- $conn->insert_id برای MySQLi شی گرا است.
- mysqli_insert_id($conn) نسخه رویه ای است.
- $conn->lastInsertId() در PDO به کار می رود.