3v4l.org

run code in 300+ PHP versions simultaneously
<?php $pdo = new pdo('sqlite::memory:', null, null, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]); $pdo->exec('create table foo(id int primary key, letter text)'); $ids = insert($pdo, 'insert into foo(letter) values(?), (?), (?)', ['a', 'b', 'c']); var_dump($ids, $pdo->query('select * from foo')->fetchAll(PDO::FETCH_ASSOC)); function insert($pdo, string $sql, array $params = []) : array { if (stripos($sql, 'INSERT') !== 0) { throw new InvalidArgumentException('##LG_NOT_AN_INSERT_STATEMENT##'); } //$pdo = $this->getAdapter()->getConnection(); $stmt = $pdo->prepare($sql); $stmt->execute($params); $count = $stmt->rowCount(); $last = $pdo->lastInsertId(); return range($last - $count, $last); }

preferences:
45.9 ms | 402 KiB | 5 Q