دریافت ID آخرین سطر درج شده MySQL در PHP

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Php-menu.png
موارد آموزشی
فرم‌ها در PHP
PHP پیشرفته
شیء گرایی در PHP
پایگاه داده MySQL
۱پایگاه داده MySQL
۲اتصال به MySQL
۳ساخت پایگاه داده
۴ساخت جدول
۵وارد کردن داده
۶دریافت شناسهٔ آخرین سطر
۷وارد کردن چندین داده
۸دستور Prepared
۹انتخاب داده
۱۰دستور Where
۱۱دستور Order By
۱۲حذف داده
۱۳بروزرسانی داده
۱۴محدودسازی داده
XML در PHP
AJAX در PHP
مثال‌های PHP
مرجع PHP


دریافت ID آخرین سطر درج شده

اگر ما یک درج یا بروزرسانی را روی یک جدول با فیلد AUTO_INCREMENT انجام دهیم، ما می‌توانیم ID آخرین سطر درج شده/بروزرسانی شده را به سرعت بدست بیاوریم.[۱]

در جدول "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
)

مثال‌های زیر با مثال‌های صفحه قبل (صفحه درج اطلاعات در MySQL به وسیلهٔ PHP) یکسان هستند، به جز اینکه ما یک خط کد برای بازیابی ID آخرین سطر درج شده اضافه کرده‌ایم. ما همچنین ID آخرین سطر درج شده را چاپ می‌کنیم:

مثال (شیء گرایی در MySQLi)

 1 <?php
 2 $servername = "localhost";
 3 $username = "username";
 4 $password = "password";
 5 $dbname = "myDB";
 6 
 7 // Create connection
 8 $conn = new mysqli($servername, $username, $password, $dbname);
 9 // Check connection
10 if ($conn->connect_error) {
11     die("Connection failed: " . $conn->connect_error);
12 }
13 
14 $sql = "INSERT INTO MyGuests (firstname, lastname, email)
15 VALUES ('John', 'Doe', 'john@example.com')";
16 
17 if ($conn->query($sql) === TRUE) {
18     $last_id = $conn->insert_id;
19     echo "New record created successfully. Last inserted ID is: " . $last_id;
20 } else {
21     echo "Error: " . $sql . "<br>" . $conn->error;
22 }
23 
24 $conn->close();
25 ?>

مثال (برنامه نویسی رویه ای در MySQLi)

 1 <?php
 2 $servername = "localhost";
 3 $username = "username";
 4 $password = "password";
 5 $dbname = "myDB";
 6 
 7 // Create connection
 8 $conn = mysqli_connect($servername, $username, $password, $dbname);
 9 // Check connection
10 if (!$conn) {
11     die("Connection failed: " . mysqli_connect_error());
12 }
13 
14 $sql = "INSERT INTO MyGuests (firstname, lastname, email)
15 VALUES ('John', 'Doe', 'john@example.com')";
16 
17 if (mysqli_query($conn, $sql)) {
18     $last_id = mysqli_insert_id($conn);
19     echo "New record created successfully. Last inserted ID is: " . $last_id;
20 } else {
21     echo "Error: " . $sql . "<br>" . mysqli_error($conn);
22 }
23 
24 mysqli_close($conn);
25 ?>

مثال (PDO)

 1 <?php
 2 $servername = "localhost";
 3 $username = "username";
 4 $password = "password";
 5 $dbname = "myDBPDO";
 6 
 7 try {
 8     $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
 9     // set the PDO error mode to exception
10     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
11     $sql = "INSERT INTO MyGuests (firstname, lastname, email)
12     VALUES ('John', 'Doe', 'john@example.com')";
13     // use exec() because no results are returned
14     $conn->exec($sql);
15     $last_id = $conn->lastInsertId();
16     echo "New record created successfully. Last inserted ID is: " . $last_id;
17     }
18 catch(PDOException $e)
19     {
20     echo $sql . "<br>" . $e->getMessage();
21     }
22 
23 $conn = null;
24 ?>


منابع آموزشی