prepare($sql); foreach ($params as $key => $value) { $st->bindValue(is_int($key) ? $key+1 : ':' . $key, $value); } return $st->execute(); } public function iterate(string $sql, ...$params): iterable { $res = $this->run($sql, ...$params); while ($row = $res->fetchArray(\SQLITE3_ASSOC)) { yield (object)$row; } } public function first(string $sql, ...$params) { $row = $this->run($sql, ...$params)->fetchArray(\SQLITE3_ASSOC); return $row ? (object) $row : null; } public function firstColumn(string $sql, ...$params) { return $this->run($sql, ...$params)->fetchArray(\SQLITE3_NUM)[0] ?? null; } }