如何在 php 中使用 prepare 语句获取 insert_id? [复制]
Posted
技术标签:
【中文标题】如何在 php 中使用 prepare 语句获取 insert_id? [复制]【英文标题】:how can i get the insert_id using prepare statement in php? [duplicate] 【发布时间】:2018-05-19 01:39:13 【问题描述】:我尝试过,但无法从函数中获取 insert_id。我做了一个类调用函数,但我不明白我怎样才能得到它。请参阅下面的代码。
class DatabaseConnection
protected $pdo;
public function __construct()
try
$this->pdo = new PDO('mysql:host=localhost;dbname=xxx', 'root', '');
catch(PDOException $e)
exit('Database error');
class Invoice extends DatabaseConnection
public function order($rename, $location)
$query = $this->pdo->prepare("INSERT INTO orderlist (re_name, location) VALUES (?, ?)");
$query -> execute(array($rename, $location));
$user = new Invoice();
if($_SERVER['REQUEST_METHOD'] == 'POST')
$rename = $_POST['re_name'];
$location = $_POST['location'];
$insertOrder = $user->order($rename, $location); // call the function here
$insertid = ____ // I want to get id using insert_id in here see blank space.
数据已成功插入,但如何获取我最近插入数据的 id。帮帮我。
【问题讨论】:
你的id是自动递增字段吗? 执行 $pstm->execute() 后调用 insert_id; $pstm->insert_id; 是的。我的 id 是自动递增字段。 可以使用 max() 获取最后插入的id 我可以从外部函数中获取 id 吗? 【参考方案1】:如果你尝试了它会不会起作用:
$user->getPdo->lastInsertId();
Details
【讨论】:
它有效。非常感谢。以上是关于如何在 php 中使用 prepare 语句获取 insert_id? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
php中使用pdo使用prepare预处理语句能同时提供多条吗
PHP PDO - 关闭语句 - 不能创建超过 max_prepared_stmt_count 语句
PHP 使用 Mysqli 的 prepare 语句有啥好处?