> */ interface ResultInterface extends IteratorAggregate { /** * Returns a generator that traverses through the whole result set * and returns each row as an associative array * * @psalm-return Generator, mixed, void> */ public function getIterator(): Generator; /** * Returns the next row of the result with associative keys * * @return array * @psalm-return array */ public function fetchAssoc(): array; /** * Returns the next row of the result with numeric keys * * @return array * @psalm-return list */ public function fetchRow(): array; /** * Returns a single value from the given result; false on error */ public function fetchValue(int|string $field = 0): string|false|null; /** * Returns all rows of the result * * @return array> * @psalm-return list> */ public function fetchAllAssoc(): array; /** * Returns values from the first column of each row * * @return array * @psalm-return list */ public function fetchAllColumn(): array; /** * Returns values as single dimensional array where the key is the first column * and the value is the second column, * e.g. "SELECT id, name FROM users" * produces: ['123' => 'John', '124' => 'Jane'] * * @return array * @psalm-return array */ public function fetchAllKeyPair(): array; /** * Returns the number of fields in the result */ public function numFields(): int; /** * Returns the number of rows in the result * * @psalm-return int|numeric-string */ public function numRows(): string|int; /** * Adjusts the result pointer to an arbitrary row in the result * * @param int $offset offset to seek * * @return bool True if the offset exists, false otherwise */ public function seek(int $offset): bool; /** * Returns meta info for fields in $result * * @return array meta info for fields in $result * @psalm-return list */ public function getFieldsMeta(): array; /** * Returns the names of the fields in the result * * @return array Fields names * @psalm-return list */ public function getFieldNames(): array; }