使用 mysqli_insert_id()(過程風(fēng)格)、$mysqli->insert_id(對象風(fēng)格)或 $pdo->lastInsertId()(PDO)可獲取最后插入的ID,需在同連接中立即調(diào)用以確保準(zhǔn)確性。
To get the last inserted ID in PHP with MySQL, you can use the mysqli_insert_id() function when using MySQLi, or lastInsertId() when using PDO. This is useful after inserting a new record into a table that has an auto-increment primary key.
Using MySQLi (Procedural Style)
If you're using the procedural style of MySQLi, call mysqli_insert_id() right after your INSERT query.
Example:
$conn = mysqli_connect("localhost", "username", "password", "database");
mysqli_query($conn, "INSERT INTO users (name, email) VALUES ('John', 'john@example.com')");
$last_id = mysqli_insert_id($conn);
echo "Last inserted ID is: " . $last_id;
Using MySQLi (Object-Oriented Style)
When using MySQLi in object-oriented style, use the $mysqli->insert_id property.
Example:
$mysqli = new mysqli("localhost", "username", "password", "database");
$mysqli->query("INSERT INTO users (name, email) VALUES ('Jane', 'jane@example.com')");
$last_id = $mysqli->insert_id;
echo "Last inserted ID is: " . $last_id;
Using PDO
In PDO, use the lastInsertId() method after executing an INSERT statement.
Example:
$pdo = new PDO("mysql:host=localhost;dbname=database", "username", "password");
$pdo->exec("INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com')");
$last_id = $pdo->lastInsertId();
echo "Last inserted ID is: " . $last_id;
Keep in mind that this value is only reliable if you retrieve it immediately after the INSERT operation and within the same database connection. If other inserts occur in between, you might get an incorrect ID.
Basically, just run the insert, then grab the ID using the appropriate method for your database extension—simple and effective.
The above is the detailed content of How to get the last inserted ID in PHP MySQL?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

ArtGPT
AI image generator for creative art from text prompts.

Stock Market GPT
AI powered investment research for smarter decisions

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

TraitsinPHPenablehorizontalcodereusebyallowingclassestoinheritmethodsfromreusabletraitcontainers,bypassingsingleinheritancelimits.Forexample,theLoggabletraitprovidesalog()methodtoanyclassusingit,suchasUser,whichcanthencall$this->log("Usercrea

set_error_handlerinPHPenablescustomerrorhandlingbydefiningafunctionthatinterceptsrecoverableerrors,allowingcontrolledlogginganduser-friendlyresponses;itacceptsparameterslike$errno,$errstr,$errfile,and$errlinetocaptureerrordetails,isregisteredviaset_e

Use the mb_convert_encoding() function to convert a string between different character encodings. Make sure that PHP's MultibyteString extension is enabled. 1. The format of this function is mb_convert_encoding (string, target encoding, source encoding), such as converting ISO-8859-1 to UTF-8; 2. It can be combined with mb_detect_encoding() to detect the source encoding, but the result may be inaccurate; 3. It is often used to convert old encoding data to UTF-8 to adapt to modern applications; 4. The alternative iconv() supports the //TRANSLIT and //IGNORE options, but the cross-platform consistency is poor; 5. Recommended first

UseSELECTINTOOUTFILEtoexportaMySQLtabletoCSVdirectly,ensuringtheMySQLuserhasFILEprivilegeandwriteaccesstotheserver'sfilesystem.

Answer: PHP's intl extension is internationalized based on the ICU library and supports multilingual formatting, translation and sorting. First install and enable the intl extension. Linux system is installed using apt-get or yum. Windows enable extension=intl in php.ini. Format numbers by region through NumberFormatter, such as de_DE output 1.234.567,89; IntlDateFormatter processing date display, such as fr_FR displays "lundi4septembre2023"; CurrencyFormatter formats currency, en_US displays $99.99. Me

ACASEstatementinMySQLenablesconditionallogicinqueries,supportingvalue-based(simple)orcondition-based(searched)evaluations.ItisusableinSELECT,ORDERBY,WHERE,andUPDATEclausestoreturndynamicresults,suchastranslatingstatuscodesintolabels,classifyingcustom

Server-sidevalidationinPHPiscrucialforsecurityanddataintegrity.1.Usefilter_input()andfilter_var()tosanitizeandvalidateinput.2.Checkrequiredfieldswithempty()ortrim().3.Validatedatatypesandformatsusingbuilt-infiltersorregex.4.Preventinjectionviaprepare

Useempty()tocheckifavariableisempty;itreturnstrueforfalse,null,"",0,0.0,"0",andemptyarrays,makingitidealforgeneralchecks.
