我在一个PHP脚本中有几个mySQL查询,将它们放在一个事务中。
我想获取每个查询的最后插入的ID,但只能在第一次使用,因为最后插入的ID保持不变(我想这是因为它被有效地视为一个大查询,并且只有一个连接)。
这些是我的查询:
$conectarDB->beginTransaction();
$a = $conectarDB->prepare(" INSERT INTO usuarios SET userEmail =?, userName =? WHERE userID=? ");
$a->bindParam(1, $userEmail);
$a->bindParam(2, $userApellido);
$a->bindParam(3, $userID);
$a->execute();
$pago1 = $conectarDB->lastInsertId();
$b = $conectarDB->prepare(" INSERT INTO versionesUsuarios SET userID=?, userEmail=? ");
$b->bindParam(1, $userID);
$b->bindParam(2, $userEmail);
$b->execute();
$pago2 = $conectarDB->lastInsertId();
$conectarDB->commit();
如何解决呢?如何获取
$pago1
和$pago2
最佳答案
我认为您可以在每次执行查询后尝试使用此方法。我希望它能工作。
$keys = $conectarDB->query("SELECT LAST_INSERT_ID()");
$arr = $keys->fetchColumn();