mysql自增id获取失败

 

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;

}

posted @ 2016-03-22 20:13  半山th  阅读(564)  评论(0编辑  收藏  举报