我在symfony2中使用了doctrine。但我使用本机 mysql 查询来插入一些数据。现在我想要数据库中最后一个插入的 id。我的代码如下所示:
$stmt = $this->getDoctrine()->getManager()
->getConnection()
->prepare("INSERT INTO tb_company (v1,v2,v3) values('$v1','$v2','$v3')");
$stmt->execute();
所以要恢复我尝试的最后一个插入的id
$stmt->insert_id;
$id=LAST_INSERT_ID(id)
$id=$stmt->getId();
等等。他们都不适合我。我是教义的新手。如何从这里获取最后插入的ID?我错过了什么?
我认为你需要这样的东西:
$conn = $this->getDoctrine()->getConnection();
$stmt = $conn->prepare('INSERT INTO tb_company (v1, v2, v3) values(:v1, :v2, :v3)');
$stmt->bindValue('v1', $v1);
$stmt->bindValue('v2', $v2);
$stmt->bindValue('v3', $v3);
$stmt->execute();
$id = $conn->lastInsertId();
您不能链接bindValue
或execute
,因为它们会返回boolean