1
我使用Doctrine/DBAL很长时间,但使用executeUpdate和获取最后一个插入标识时遇到了一些问题。 它始终返回0,但数据库条目已设置。 coloumn id被设置,它是我的数据库中的AutoIncrement和PRIMARY。Doctrine/DBAL lastInsertId()返回0
这是将我的条目复制到另一个表格的功能。
$copy = $app['db']->executeUpdate('INSERT INTO `pd_user_model` (
`campaign_id`,
...
`created`)
SELECT `campaign_id`,
...
NOW()
FROM `pd_pass_model` WHERE `campaign_id` = ?', array($campaignID));
echo "INSERT<br>";
echo "LAST INSERT:" . $app['db']->lastInsertId();
//RETURN VALUE
INSERT
LAST INSERT:0
有人对我有任何提示。 到目前为止感谢!
这是因为您在INSERT语句后执行SELECT操作。 尝试只插入查询,然后检查lastInsertId()的值 – gunnx