English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
mysqli_insert_id()函数返回最后一条插入语句产生的自增 ID
如果您有一个具有列的AUTO_INCREMENT属性的表,并且如果您的最后一次MySQLi函数调用执行INSERT或UPDATE语句。 函数的作用是:返回自动生成的上次执行查询的ID。
mysqli_insert_id($con)
序号 | 参数及说明 |
---|---|
1 | con(必需) 这是一个表示与MySQL Server的连接的对象。 |
�数mysqli_insert_id() 返回最后一个 SQL 语句(通常是 INSERT 语句) 所操作的表中设置为 AUTO_INCREMENT 的列的值。 如果最后一个 SQL 语句不是 INSERT 或者 UPDATE 语句, 或者所操作的表中没有设置为 AUTO_INCREMENT 的列, 返回值为 0。
تم إدخال هذه الوظيفة أولاً في إصدار PHP 5، ويمكن استخدامها في جميع الإصدارات الأعلى.
افترض أننا قمنا بإنشاء جدول يسمى Cricketers في قاعدة بيانات mydb، حيث يكون الحقل ID PRIMARY KEY، ويتم إنشاؤه تلقائيًا:
CREATE TABLE Cricketers( ID INT PRIMARY KEY AUTO_INCREMENT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Date_Of_Birth date, Place_Of_Birth VARCHAR(255), Country VARCHAR(255) );
يوضح هذا المثالmysqli_insert_id()استخدام الوظيفة (أسلوب البرمجة القائم على العمليات)-
<?php // ایجاد ارتباط $con = mysqli_connect("localhost", "root", "password", "mydb"); // ثبت رکورد در جدول employee $sql = "إدراج إدراج في Cricketers قيم(1, 'Shikhar', 'Dhawan', DATE('1981-12-05'), 'Delhi', 'India')"; mysqli_query($con, $sql); // Insert ID $id = mysqli_insert_id($con); print("Insert ID: ". $id . "\n"); $sql = "إدراج إدراج في Cricketers قيم(2, 'Jonathan', 'Trott', DATE('1981-04-22'), 'CapeTown', 'SouthAfrica')"; mysqli_query($con, $sql); $id = mysqli_insert_id($con); print("Insert ID: ". $id); //إغلاق الاتصال mysqli_close($con); ?>
نتيجة الإخراج
Insert ID: 1 Insert ID: 2
في الأسلوب الموجه للأ�체، جملة هذه الوظيفة هي$ con-> insert_id();.هذا مثال على دالة This الخاصة بـ minus بأسلوب البرمجة الموجهة للأ�체;
<?php // ایجاد ارتباط $con = new mysqli("localhost", "root", "password", "mydb"); // ثبت رکورد در جدول employee $con -> query("إدراج إدراج في Cricketers قيم(3, 'Kumara', 'Sangakkara', DATE('1977-10-27'), 'Matale', 'Srilanka'))"); // Insert ID $state = $con->insert_id; print("Insert ID: ".$state."\n"); // ثبت رکورد در جدول employee $con -> query("insert into Cricketers values(4, 'Virat', 'Kohli', DATE('1988-11-05'), 'Delhi', 'India')"); // Insert ID $state = $con->insert_id; print("Insert ID: ".$state); //إغلاق الاتصال $con -> close(); ?>
نتيجة الإخراج
Insert ID: 3 Insert ID: 4
در اینجا یک مثال از تابع استmysqli_insert_idمثال دیگری-
<?php // ایجاد ارتباط $con = mysqli_connect("localhost", "root", "password", "mydb"); // استعلام برای انتخاب همه ردیفهای جدول Cricketers mysqli_query($con, "SELECT * FROM Cricketers"); print("Insert ID (select query): ".mysqli_insert_id($con)."\n"); // استعلام برای اضافه کردن چند ردیف به جدول Cricketers mysqli_query($con, "INSERT INTO Cricketers VALUES (5, 'Rohit', 'Sharma', DATE('1987-04-30'), 'Nagpur', 'India'), (6, 'Ravindra', 'Jadeja', DATE('1988-12-06'), 'Nagpur', 'India') "); print("Insert ID: (multiple inserts) ".mysqli_insert_id($con)."\n"); // استعلام برای بهروزرسانی ردیفهای جدول employee mysqli_query($con, "UPDATE Cricketers set COUNTRY = 'S.Africa' where ID = 2"); print("Insert ID (استعلام تحديث): " . mysqli_insert_id($con) . "\n"); //استعلام سيقوم بوضع السجل في جدول employee mysqli_query($con, "INSERT INTO employee VALUES ('Sarmista', 'Sharma', 28, 'F', 15000, 101)"); print("Insert ID: (جدول بدون مفتاح تلقائي) " . mysqli_insert_id($con) . "\n"); //إغلاق الاتصال mysqli_close($con); ?>
نتيجة الإخراج
Insert ID (استعلام استعلام): 0 Insert ID: (إدخالات متعددة) 6 Insert ID (استعلام تحديث): 0 Insert ID: (جدول بدون مفتاح تلقائي) 0
في هذا المثال، يتم عرض SELECT، UPDATE، INSERT و DELETE استعلاماتmysqli_insert_idاستخدام الدالة -
<?php $connection_mysql = mysqli_connect("localhost", "root", "password", "mydb"); if (mysqli_connect_errno($connection_mysql)){ echo "فشل الاتصال بMySQL: " . mysqli_connect_error(); } mysqli_query($connection_mysql,"INSERT INTO Employee (name) VALUES('PHP')"); echo "سجل جديد يحتوي على id: " . mysqli_insert_id($connection_mysql); mysqli_close($connection_mysql); ?>
نتيجة الإخراج
سجل جديد يحتوي على id: 0