با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن و کاربرانی که دوره ی آموزش php 7 را دنبال می کنند.
در جلسه گذشته و با آموزش وارد کردن داده به MySQL در php 7 آموختیم که چگونه می توان با کمک POD و MySQLi به وارد کردن داده ها در MySQL اقدام کرد.
در ادامه دوره آموزش php 7 و نیز سر فصل کار با پایگاه داده MySQL آموزش دریافت ID آخرین رکورد وارد شده در php 7 را به علاقمندان این دوره ارائه می نماییم.
اگر ما در یک جدول با یک فیلد AUTO_INCREMENT یک INSERT یا UPDATE را انجام دهیم، می توانیم بلافاصله ID آخرین رکورد وارد شده / بروز رسانی یا inserted/updated را دریافت کنیم.
در جدول “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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) |
مثالهای زیر با نمونه هایی از صفحه قبلی (PHP Insert Data to MySQL)
یا (ورودی داده های php به پایگاه داده MySQL) برابر است.
جز اینکه یک خط از کد را برای بازیابی شناسه (ID مورد نظر) آخرین رکورد وارد شده اضافه کرده ایم.
علاوه بر اضافه کردن یک خط کد برای بازیابی ID اقدام به echo نمودن آخرین ID می نماییم.
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("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(); ?> |
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("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); ?> |
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، آموزش ساخت جداول MySQL در، آموزش وارد کردن داده به MySQL، و در نهایت نیز با آموزش دریافت ID آخرین رکورد وارد شده در php 7 همراه شما بودیم.
در این جلسه آموختیم که چگونه می توان ID و یا شناسه یک رکورد را پیدا کرد.
در جلسه بعدی به آموزش وارد کردن چندین رکورد به MySQL می پردازیم.
با پی وی لرن همراه باشید.
عبدالحسین حمایت خواه
سلام وقت بخیر خواهشمند است نسبت به دریافتID خودم را چطوری پیدا کنم ممنون میشوم در این مورد راهنمایی فرمایید باتشکر از حضرتعالی
صادق
شما میتونید ابتدا رکورد خودتون رو پیدا کنید بعد ID رو از توی اون استخراج کنید. یا با دستور select صراحتا فقط ID رو بگیرید. در هر دو حالت باید از دستور where استفاده کنید.