2013-03-14 64 views
2

我有下面的代码(删除了实际数据),它成功地将一条记录写入我的表中。PHP lastInsertId() - 返回以前的记录号

$db = new database('db_name'); 
$sql='INSERT INTO table (fieldshere);'; 
$pds=$db->pdo->prepare($sql); 
$pds->execute(array(datahere)); 

$_SESSION['userid'] = $db->pdo->lastInsertId(); 

我有在其返回之前的纪录数量的问题 - 例如:如果刚写的记录号100返回数字99

我可以看到在表行数自动递增这看起来很正常。例如:如果表行当前是100,那么自动递增表示101(对于下一行)。

该表从0开始,但仍不确定是否会有任何问题。

任何事情是表有一个userid列,它有自动增量,这是我需要的数字。

是否有任何理由为什么我会得到以前的行号?

THX

+1

您是否尝试过在lastInsertId()中使用名称参数?例如'lastInsertId('userid');' - 对不起,如果不行的话......在黑暗中拍一下 – 2013-03-14 08:51:41

+0

你使用的是哪种数据库平台? MySQL的? – JamesHalsall 2013-03-14 09:00:12

回答