با سلام خدمت کاربران محترم سایت پی وی لرن. در این جلسه قصد داریم تا نحوه گرفتن شناسه آخرین رکورد درج شده در MySQL با زبان PHP را به شما آموزش دهیم. اگر که ما یک INSERT یا UPDATE را روی یک جدول با فیلد AUTO_INCREMENT انجام دهیم، می توانیم id آخرین رکورد درج شده در mysql یا آپدیت شده را بدست بیاوریم.
در جدول “MyGuests” ، ستون “id” یک فیلد AUTO_INCREMENT است:
1 2 3 4 5 6 7 | 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 ) |
مثال هایی را که در ادامه خواهید دید مشابه مثال های جلسه پیش هستند. (با این تفاوت که ما یک خط کد برای بدست آورن id آخرین رکورد درج شده اضافه کردیم)
همچنین ما id را با استفاده از دستور echo چاپ کرده ایم:
مثال MySQLi شئ گرا:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?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("ارتباط برقرار نشد: " . $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 "خطا: " . $sql . "<br>" . $conn->error; } $conn->close(); ?> |
مثال MySQLi رویه گرا:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("ارتباط برقرار نشد: " . 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 "خطا: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); ?> |
مثال PDO:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?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', 'john@example.com')"; // 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; ?> |
جلسه گرفتن شناسه آخرین رکورد درج شده در MySQL با زبان php نیز به پایان رسید.
در جلسه بعد به آموزش درج چند رکورد به صورت همرمان در MySQL خواهیم پرداخت. با ما همراه باشید.
همچنین می توانید نظرات و سوالات خود را از طریق بخش نظرات با ما در میان بگذارید.
hamed
خیلی کاربردی بود برای من ممنون
پی وی لرن
با سلام
خوشحالیم که مورد رضایت شما واقع شده است.