![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/laminas/laminas-db/src/Adapter/Driver/Sqlsrv/ |
<?php namespace Laminas\Db\Adapter\Driver\Sqlsrv; use Iterator; use Laminas\Db\Adapter\Driver\ResultInterface; // phpcs:ignore SlevomatCodingStandard.Namespaces.UnusedUses.UnusedUse use ReturnTypeWillChange; use function is_bool; use function sqlsrv_fetch_array; use function sqlsrv_num_fields; use function sqlsrv_num_rows; use function sqlsrv_rows_affected; use const SQLSRV_FETCH_ASSOC; use const SQLSRV_SCROLL_FIRST; use const SQLSRV_SCROLL_NEXT; class Result implements Iterator, ResultInterface { /** @var resource */ protected $resource; /** @var bool */ protected $currentData = false; /** @var bool */ protected $currentComplete = false; /** @var int */ protected $position = -1; /** @var mixed */ protected $generatedValue; /** * Initialize * * @param resource $resource * @param mixed $generatedValue * @return $this Provides a fluent interface */ public function initialize($resource, $generatedValue = null) { $this->resource = $resource; $this->generatedValue = $generatedValue; return $this; } /** * @return null */ public function buffer() { return null; } /** * @return bool */ public function isBuffered() { return false; } /** * Get resource * * @return resource */ public function getResource() { return $this->resource; } /** * Current * * @return mixed */ #[ReturnTypeWillChange] public function current() { if ($this->currentComplete) { return $this->currentData; } $this->load(); return $this->currentData; } /** * Next * * @return bool */ #[ReturnTypeWillChange] public function next() { $this->load(); return true; } /** * Load * * @param int $row * @return mixed */ protected function load($row = SQLSRV_SCROLL_NEXT) { $this->currentData = sqlsrv_fetch_array($this->resource, SQLSRV_FETCH_ASSOC, $row); $this->currentComplete = true; $this->position++; return $this->currentData; } /** * Key * * @return mixed */ #[ReturnTypeWillChange] public function key() { return $this->position; } /** * Rewind * * @return bool */ #[ReturnTypeWillChange] public function rewind() { $this->position = 0; $this->load(SQLSRV_SCROLL_FIRST); return true; } /** * Valid * * @return bool */ #[ReturnTypeWillChange] public function valid() { if ($this->currentComplete && $this->currentData) { return true; } return $this->load(); } /** * Count * * @return int */ #[ReturnTypeWillChange] public function count() { return sqlsrv_num_rows($this->resource); } /** * @return bool|int */ public function getFieldCount() { return sqlsrv_num_fields($this->resource); } /** * Is query result * * @return bool */ public function isQueryResult() { if (is_bool($this->resource)) { return false; } return sqlsrv_num_fields($this->resource) > 0; } /** * Get affected rows * * @return int */ public function getAffectedRows() { return sqlsrv_rows_affected($this->resource); } /** * @return mixed|null */ public function getGeneratedValue() { return $this->generatedValue; } }