PHP中获取INSERT后自增主键需调用对应扩展函数:mysqli用lastInsertId()或insert_id,PDO用lastInsertId(),PostgreSQL须用RETURNING子句配合fetchColumn()。

在PHP中执行INSERT操作后,若需获取数据库自增主键的最新值,必须调用特定函数以确保获取准确的ID。以下是几种主流数据库扩展中获取最后插入ID的具体方法:
一、使用mysqli面向对象方式
mysqli扩展提供lastInsertId()方法,适用于已成功执行INSERT语句后的连接实例,该方法返回最后一次INSERT操作生成的自增ID值。
1、通过new mysqli()建立数据库连接,并检查连接是否成功。
2、执行INSERT语句,例如:$mysqli->query("INSERT INTO users(name,email) VALUES('张三','zhang@example.com')");
立即学习“PHP免费学习笔记(深入)”;
3、调用$mysqli->insert_id或$mysqli->last_insert_id()获取刚插入记录的ID。
二、使用mysqli过程式方式
过程式调用依赖于有效的连接资源和上一次INSERT查询结果,其行为与面向对象方式一致,但语法结构不同。
1、使用mysqli_connect()建立连接,并用mysqli_select_db()选择数据库。
2、执行INSERT语句,例如:mysqli_query($conn, "INSERT INTO products(title,price) VALUES('笔记本',5999)");
3、立即调用mysqli_insert_id($conn)获取ID,注意必须传入当前连接资源变量。
三、使用PDO方式
PDO提供lastInsertId()方法,可在执行INSERT后直接调用,不依赖SQL语句是否含RETURNING子句(PostgreSQL除外),适用于多种数据库驱动。
1、使用new PDO()创建PDO实例,设置ATTR_ERRMODE为ERRMODE_EXCEPTION。
还木有评论哦,快来抢沙发吧~