ok
Direktori : /home2/selectio/www/3-idiots/vendor/doctrine/dbal/src/Driver/Mysqli/ |
Current File : //home2/selectio/www/3-idiots/vendor/doctrine/dbal/src/Driver/Mysqli/Connection.php |
<?php namespace Doctrine\DBAL\Driver\Mysqli; use Doctrine\DBAL\Driver\Mysqli\Exception\ConnectionError; use Doctrine\DBAL\Driver\Result as ResultInterface; use Doctrine\DBAL\Driver\ServerInfoAwareConnection; use Doctrine\DBAL\Driver\Statement as DriverStatement; use Doctrine\DBAL\ParameterType; use Doctrine\Deprecations\Deprecation; use mysqli; use mysqli_sql_exception; final class Connection implements ServerInfoAwareConnection { /** * Name of the option to set connection flags */ public const OPTION_FLAGS = 'flags'; private mysqli $connection; /** @internal The connection can be only instantiated by its driver. */ public function __construct(mysqli $connection) { $this->connection = $connection; } /** * Retrieves mysqli native resource handle. * * Could be used if part of your application is not using DBAL. * * @deprecated Call {@see getNativeConnection()} instead. */ public function getWrappedResourceHandle(): mysqli { Deprecation::trigger( 'doctrine/dbal', 'https://github.com/doctrine/dbal/pull/5037', '%s is deprecated, call getNativeConnection() instead.', __METHOD__, ); return $this->getNativeConnection(); } public function getServerVersion(): string { return $this->connection->get_server_info(); } public function prepare(string $sql): DriverStatement { try { $stmt = $this->connection->prepare($sql); } catch (mysqli_sql_exception $e) { throw ConnectionError::upcast($e); } if ($stmt === false) { throw ConnectionError::new($this->connection); } return new Statement($stmt); } public function query(string $sql): ResultInterface { return $this->prepare($sql)->execute(); } /** * {@inheritdoc} */ public function quote($value, $type = ParameterType::STRING) { return "'" . $this->connection->escape_string($value) . "'"; } public function exec(string $sql): int { try { $result = $this->connection->query($sql); } catch (mysqli_sql_exception $e) { throw ConnectionError::upcast($e); } if ($result === false) { throw ConnectionError::new($this->connection); } return $this->connection->affected_rows; } /** * {@inheritdoc} */ public function lastInsertId($name = null) { if ($name !== null) { Deprecation::triggerIfCalledFromOutside( 'doctrine/dbal', 'https://github.com/doctrine/dbal/issues/4687', 'The usage of Connection::lastInsertId() with a sequence name is deprecated.', ); } return $this->connection->insert_id; } public function beginTransaction(): bool { $this->connection->begin_transaction(); return true; } public function commit(): bool { try { return $this->connection->commit(); } catch (mysqli_sql_exception $e) { return false; } } public function rollBack(): bool { try { return $this->connection->rollback(); } catch (mysqli_sql_exception $e) { return false; } } public function getNativeConnection(): mysqli { return $this->connection; } }