To dlatego, że jest to funkcja SQL, a nie PHP. Możesz użyć PDO::lastInsertId()
.
Na przykład:
$stmt = $db->prepare("...");
$stmt->execute();
$id = $db->lastInsertId();
Jeśli chcesz to zrobić za pomocą SQL zamiast API PDO, zrób to jak zwykłe zapytanie wybierające:
$stmt = $db->query("SELECT LAST_INSERT_ID()");
$lastId = $stmt->fetchColumn();