php - strip_tags - PDO obtiene la última identificación insertada
strip_tags() (2)
Eso es porque esa es una función SQL, no PHP. Puede usar PDO::lastInsertId()
.
Me gusta:
$stmt = $db->prepare("...");
$stmt->execute();
$id = $db->lastInsertId();
Si desea hacerlo con SQL en lugar de la API PDO, lo haría como una consulta de selección normal:
$stmt = $db->query("SELECT LAST_INSERT_ID()");
$lastId = $stmt->fetchColumn();
Tengo una consulta y quiero insertar la última identificación. El ID de campo es la clave principal y el incremento automático.
Sé que tengo que usar esta declaración:
LAST_INSERT_ID()
Esa afirmación funciona con una consulta como esta:
$query = "INSERT INTO `cell-place` (ID) VALUES (LAST_INSERT_ID())";
Pero si quiero obtener la identificación usando esta declaración:
$ID = LAST_INSERT_ID();
Me sale este error:
Fatal error: Call to undefined function LAST_INSERT_ID()
¿Qué estoy haciendo mal?
lastInsertId () solo funciona después de la consulta INSERT.
Correcto:
$stmt = $this->conn->prepare("INSERT INTO users(userName,userEmail,userPass)
VALUES($username,$email,$pass)");
$sonuc = $stmt->execute();
$LAST_ID = $this->conn->lastInsertId();
Incorrecto:
$stmt = $this->conn->prepare("SELECT * FROM users");
$sonuc = $stmt->execute();
$LAST_ID = $this->conn->lastInsertId(); //always return string(1)=0