English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 基础教程

PHP 高级教程

PHP & MySQL

PHP 参考手册

PHP mysqli_insert_id() 函数用法及示例

دليل PHP MySQLi

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

تم إدخال هذه الوظيفة أولاً في إصدار 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

دليل PHP MySQLi