我在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?我缺少什么?
答案 0 :(得分:12)
我认为你需要这样的东西:
$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