mysql自增id获取失败

时间:2021-12-16 23:34:01

php 数据库pdo对象,如果是返回,如以下伪代码

function getData(){

  return $data;

}

$data = getData();

$id = $data->lastInsertId();

此时会获取不到,因为mysql的lastInsertId是和连接相关的,我猜想是返回后,这个数据库连接已经不是操作数据时的连接了。

解决方法

1、在返回前赋值

function getData(){

  $data->id =$data->lastInsertId();

  return $data;

}

2、用uuid替代lastInsertId。如果遇到多线程的问题,有可能这个id是错误的。

function getData(){

  $data->uuid = getUUID();

  return $data;

}