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