Класс Mysql
Драйвер MySQL
Константы
-
stringFEATURE_CTE'cte'
Поддержка общих табличных выражений (с предложением).
-
stringFEATURE_DISABLE_CONSTRAINT_WITHOUT_TRANSACTION'disable-constraint-without-transaction'
Поддержка отключения ограничений без транзакции.
-
stringFEATURE_JSON'json'
Поддержка родного типа данных JSON.
-
stringFEATURE_QUOTE'quote'
Поддержка PDO::quote().
-
stringFEATURE_SAVEPOINT'savepoint'
Поддержка сохранения точек транзакции.
-
stringFEATURE_TRUNCATE_WITH_CONSTRAINTS'truncate-with-constraints'
Поддержка обрезания с прикреплёнными внешними ключами.
-
stringFEATURE_WINDOW'window'
Поддержка оконных функций (все или частичные предложения).
-
int|nullMAX_ALIAS_LENGTH256
-
array<int>RETRY_ERROR_CODES[]
-
stringSERVER_TYPE_MARIADB'mariadb'
Тип сервера MariaDB
-
stringSERVER_TYPE_MYSQL'mysql'
Тип сервера MySQL
Краткое описание свойств
- $_autoQuoting protected
boolУказывает, производит ли драйвер автоматическую цитирование идентификаторов для всех запросов
- $_baseConfig protected
array<string, mixed>Базовые настройки конфигурации для драйвера MySQL
- $_config protected
array<string, mixed>Данные конфигурации.
- $_connection protected
PDOЭкземпляр PDO.
- $_endQuote protected
stringСтрока, используемая для завершения цитирования идентификаторов базы данных для обеспечения безопасности
- $_schemaDialect protected
Cake\Database\Schema\MysqlSchemaDialect|nullДиалект схемы для этого драйвера
- $_startQuote protected
stringСтрока, используемая для начала цитирования идентификаторов базы данных для обеспечения безопасности
- $_version protected
string|nullВерсия сервера
- $connectRetries protected
intПоследнее количество попыток повторного подключения.
- $featureVersions protected
array<string, array<string, string>>Сопоставление функции с версией сервера базы данных для проверки наличия функции.
- $serverType protected
stringТип сервера.
Краткое описание методов
-
__construct() public
Конструктор
-
__debugInfo() public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
-
__destruct() public
Деструктор
-
_connect() protected
Устанавливает соединение с сервером базы данных
-
_deleteQueryTranslator() protected
Применяет шаги трансляции к запросам удаления.
-
_expressionTranslators() protected
Возвращает ассоциативный массив методов, которые преобразуют объекты Expression для соответствия конкретному диалекту SQL. Ключи — имена классов, значения — метод в этом классе.
-
_insertQueryTranslator() protected
Применяет шаги трансляции к запросам вставки.
-
_removeAliasesFromConditions() protected
Удаляет псевдонимы из
WHERE-части запроса. -
_selectQueryTranslator() protected
Применяет шаги трансляции к запросам выбора.
-
_transformDistinct() protected
Возвращает переданный запрос после переработки DISTINCT-опущения, чтобы драйверы, не поддерживающие часть "ON", могли указать, как это нужно сделать на самом деле.
-
_updateQueryTranslator() protected
Применяет шаги трансляции к запросам обновления.
-
beginTransaction() public
Начинает транзакцию.
-
commitTransaction() public
Подтверждает транзакцию.
-
compileQuery() public
Преобразует переданный запрос к диалекту данного драйвера и возвращает экземпляр преобразованного запроса и полную скомпилированную строку SQL.
-
connect() public
Устанавливает соединение с сервером базы данных
-
disableAutoQuoting() public
Отключает автоматическое приведение идентификаторов в запросах к кавычкам.
-
disableForeignKeySQL() public
Получить SQL для отключения внешних ключей.
-
disconnect() public
Отключается от сервера базы данных.
-
enableAutoQuoting() public
Устанавливает, следует ли данному драйверу автоматически приводить идентификаторы в запросах к кавычкам.
-
enableForeignKeySQL() public
Получить SQL для включения внешних ключей.
-
enabled() public
Возвращает, может ли php использовать данный драйвер для подключения к базе данных
-
getConnectRetries() public
Возвращает количество попыток повторного подключения.
-
getConnection() public
Получить внутренний экземпляр соединения PDO.
-
getMaxAliasLength() public
Возвращает максимальную длину псевдонима. Она может отличаться от максимальной длины идентификатора столбцов.
-
inTransaction() public
Возвращает, активна ли транзакция для подключения.
-
isAutoQuotingEnabled() public
Возвращает, следует ли данному драйверу автоматически приводить идентификаторы в запросах к кавычкам.
-
isConnected() public
Проверяет, подключен ли драйвер.
-
isMariadb() public
Возвращает true, если подключенный сервер — MariaDB.
-
lastInsertId() public
Возвращает последний сгенерированный идентификатор для таблицы или последовательности в базе данных.
-
newCompiler() public
Возвращает экземпляр QueryCompiler.
-
newTableSchema() public
Создаёт новый TableSchema.
-
prepare() public
Подготавливает sql-запрос для выполнения.
-
queryTranslator() public
Возвращает вызываемую функцию, которая будет использована для преобразования переданного объекта Query. Эта функция, в свою очередь, вернёт экземпляр объекта Query, который был преобразован для соответствия особенностям используемого диалекта SQL.
-
quote() public
Возвращает значение в безопасном представлении для использования в строке запроса.
-
quoteIdentifier() public
Приводит базовый идентификатор (имя столбца, имя таблицы и т. д.) к кавычкам для безопасного использования в запросах, исключая риск использования зарезервированных слов.
-
releaseSavePointSQL() public
Возвращает фрагмент SQL для освобождения ранее созданной точки сохранения.
-
rollbackSavePointSQL() public
Возвращает фрагмент SQL для отката ранее созданной точки сохранения.
-
rollbackTransaction() public
Откатывает транзакцию.
-
savePointSQL() public
Возвращает фрагмент SQL для создания новой точки сохранения транзакции.
-
schema() public
Возвращает имя используемой схемы.
-
schemaDialect() public
Получить диалект схемы.
-
schemaValue() public
Экранирует значения для использования в определениях схемы.
-
setConnection() public
Устанавливает внутренний экземпляр соединения PDO.
-
supports() public
Возвращает, поддерживает ли драйвер данную функцию.
-
supportsCTEs() public deprecated
Возвращает true, если сервер поддерживает выражения с общим табличным выражением.
-
supportsDynamicConstraints() public
Возвращает, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.
-
supportsNativeJson() public deprecated
Возвращает true, если сервер поддерживает нативные JSON-столбцы
-
supportsQuoting() public deprecated
Проверяет, поддерживает ли драйвер цитирование, так как PDO_ODBC его не поддерживает.
-
supportsSavePoints() public
Возвращает, поддерживает ли этот драйвер точки сохранения для вложенных транзакций.
-
supportsWindowFunctions() public deprecated
Возвращает true, если подключенный сервер поддерживает оконные функции.
-
version() public
Возвращает версию подключенного сервера.
Подробное описание методов
__construct() public
__construct(array<string, mixed> $config = [])
Конструктор
Параметры
-
array<string, mixed>$config необязательно Настройка драйвера.
Исключения
InvalidArgumentException__debugInfo() public
__debugInfo(): array<string, mixed>
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращаемое значение
array<string, mixed>__destruct() public
__destruct()
Деструктор
_connect() protected
_connect(string $dsn, array<string, mixed> $config): bool
Устанавливает соединение с сервером базы данных
Параметры
-
string$dsn Специфичный для драйвера PDO-DSN
-
array<string, mixed>$config настройки, используемые для создания соединения
Возвращаемое значение
bool_deleteQueryTranslator() protected
_deleteQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применяет шаги трансляции к запросам удаления.
Удаляет псевдонимы из условий запроса удаления, так как большинство диалектов баз данных не поддерживают псевдонимы в запросах удаления. Это также удаляет псевдонимы в именах таблиц, так как они часто тоже не работают.
Мы намеренно не поддерживаем удаления с объединениями, так как они имеют еще более слабую поддержку.
Параметры
-
Cake\Database\Query$query Запрос для трансляции
Возвращаемое значение
Cake\Database\Query_expressionTranslators() protected
_expressionTranslators(): array<string>
Возвращает ассоциативный массив методов, которые преобразуют объекты Expression для соответствия конкретному диалекту SQL. Ключи — имена классов, значения — метод в этом классе.
Возвращаемое значение
array<string>_insertQueryTranslator() protected
_insertQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применяет шаги трансляции к запросам вставки.
Параметры
-
Cake\Database\Query$query Запрос для трансляции
Возвращаемое значение
Cake\Database\Query_removeAliasesFromConditions() protected
_removeAliasesFromConditions(Cake\Database\Query $query): Cake\Database\Query
Удаляет псевдонимы из условия WHERE запроса.
Параметры
-
Cake\Database\Query$query Запрос для обработки.
Возвращаемое значение
Cake\Database\QueryИсключения
RuntimeExceptionВ случае, если обработанный запрос содержит объединения, так как удаление псевдонимов из условий может нарушить ссылки на соединённые таблицы.
_selectQueryTranslator() protected
_selectQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применяет шаги трансляции к запросам выбора.
Параметры
-
Cake\Database\Query$query Запрос для трансляции
Возвращаемое значение
Cake\Database\Query_transformDistinct() protected
_transformDistinct(Cake\Database\Query $query): Cake\Database\Query
Возвращает переданный запрос после переписывания условия DISTINCT таким образом, чтобы драйверы, которые не поддерживают часть «ON», могли предоставить фактический способ, как это должно быть сделано.
Параметры
-
Cake\Database\Query$query Запрос для преобразования
Возвращаемое значение
Cake\Database\Query_updateQueryTranslator() protected
_updateQueryTranslator(Cake\Database\Query $query): Cake\Database\Query
Применяет шаги трансляции к запросам обновления.
Удаляет псевдонимы из условий запроса обновления, так как не все диалекты баз данных поддерживают псевдонимы в запросах обновления.
Также, как и для запросов удаления, объединения для запросов обновления в настоящее время не поддерживаются.
Параметры
-
Cake\Database\Query$query Запрос для трансляции
Возвращаемое значение
Cake\Database\QuerybeginTransaction() public
beginTransaction(): bool
Начинает транзакцию.
Возвращаемое значение
boolcommitTransaction() public
commitTransaction(): bool
Подтверждает транзакцию.
Возвращаемое значение
boolcompileQuery() public
compileQuery(Cake\Database\Query $query, Cake\Database\ValueBinder $binder): array
Преобразует переданный запрос в диалект этого драйвера и возвращает экземпляр преобразованного запроса и полную скомпилированную строку SQL.
Параметры
-
Cake\Database\Query$query -
Cake\Database\ValueBinder$binder
Возвращаемое значение
arrayconnect() public
connect(): bool
Устанавливает соединение с сервером базы данных
Возвращаемое значение
booldisableAutoQuoting() public
disableAutoQuoting(): $this
Отключает автоматическое цитирование идентификаторов в запросах.
Возвращаемое значение
$thisdisableForeignKeySQL() public
disableForeignKeySQL(): string
Получить SQL для отключения внешних ключей.
Возвращаемое значение
stringdisconnect() public
disconnect(): void
Отключается от сервера базы данных.
Возвращаемое значение
voidenableAutoQuoting() public
enableAutoQuoting(bool $enable = true): $this
Устанавливает, должен ли этот драйвер автоматически цитировать идентификаторы в запросах.
Параметры
-
bool$enable необязательно
Возвращаемое значение
$thisenableForeignKeySQL() public
enableForeignKeySQL(): string
Получить SQL для включения внешних ключей.
Возвращаемое значение
stringenabled() public
enabled(): bool
Возвращает, может ли PHP использовать этот драйвер для подключения к базе данных
Возвращаемое значение
boolgetConnectRetries() public
getConnectRetries(): int
Возвращает количество попыток повторного подключения.
Возвращаемое значение
intgetConnection() public
getConnection(): PDO
Получить внутренний экземпляр соединения PDO.
Возвращаемое значение
PDOgetMaxAliasLength() public
getMaxAliasLength(): int|null
Возвращает максимальную длину псевдонима. Она может отличаться от максимальной длины идентификатора столбцов.
Возвращаемое значение
int|nullinTransaction() public
inTransaction(): bool
Возвращает, активна ли транзакция для соединения.
Возвращаемое значение
boolisAutoQuotingEnabled() public
isAutoQuotingEnabled(): bool
Возвращает, должен ли этот драйвер автоматически цитировать идентификаторы в запросах.
Возвращаемое значение
boolisConnected() public
isConnected(): bool
Проверяет, подключен ли драйвер.
Возвращает
boolisMariadb() public
isMariadb(): bool
Возвращает true, если подключенный сервер — MariaDB.
Возвращает
boollastInsertId() public
lastInsertId(string|null $table = null, string|null $column = null): string|int
Возвращает последний сгенерированный идентификатор для таблицы или последовательности в базе данных.
Параметры
-
string|null$table необязательно -
string|null$column необязательно
Возвращает
string|intnewCompiler() public
newCompiler(): Cake\Database\QueryCompiler
Возвращает экземпляр QueryCompiler.
Возвращает
Cake\Database\QueryCompilernewTableSchema() public
newTableSchema(string $table, array $columns = []): Cake\Database\Schema\TableSchema
Создаёт новую TableSchema.
Параметры
-
string$table -
array$columns необязательно
Возвращает
Cake\Database\Schema\TableSchemaprepare() public
prepare(Cake\Database\Query|string $query): Cake\Database\StatementInterface
Подготавливает SQL-запрос к выполнению.
Параметры
-
Cake\Database\Query|string$query Запрос для подготовки.
Возвращает
Cake\Database\StatementInterfacequeryTranslator() public
queryTranslator(string $type): Closure
Возвращает вызываемую функцию, которая будет использоваться для преобразования переданного объекта Query. Эта функция, в свою очередь, вернёт экземпляр объекта Query, преобразованного для соответствия особенностям используемого диалекта SQL.
Параметры
-
string$type тип запроса, который нужно преобразовать (select, insert, update, delete)
Возвращает
Closurequote() public
quote(mixed $value, int $type = PDO::PARAM_STR): string
Возвращает значение в безопасном представлении для использования в строке запроса.
Параметры
-
mixed$value -
int$type необязательно
Возвращает
stringquoteIdentifier() public
quoteIdentifier(string $identifier): string
Приводит идентификатор базы данных (имя столбца, имя таблицы и т. д.) к цитируемому виду для безопасного использования в запросах без риска использования зарезервированных слов.
Параметры
-
string$identifier Идентификатор для приведения к цитируемому виду.
Возвращает
stringreleaseSavePointSQL() public
releaseSavePointSQL(string|int $name): string
Возвращает фрагмент SQL для освобождения ранее созданной точки сохранения.
Параметры
-
string|int$name Имя точки сохранения.
Возвращает
stringrollbackSavePointSQL() public
rollbackSavePointSQL(string|int $name): string
Возвращает фрагмент SQL для откатывания ранее созданной точки сохранения.
Параметры
-
string|int$name Имя точки сохранения.
Возвращает
stringrollbackTransaction() public
rollbackTransaction(): bool
Откатывает транзакцию.
Возвращает
boolsavePointSQL() public
savePointSQL(string|int $name): string
Возвращает фрагмент SQL для создания новой точки сохранения транзакции.
Параметры
-
string|int$name Имя точки сохранения.
Возвращает
stringschema() public
schema(): string
Возвращает имя схемы, используемой в данный момент.
Возвращает
stringschemaDialect() public
schemaDialect(): Cake\Database\Schema\SchemaDialect
Получает диалект схемы.
Используется пакетом {@link \Cake\Database\Schema} для отображения схемы и генерации схемы.
Если все таблицы, использующие этот драйвер, указывают свои собственные схемы, то это может вернуть null.
Возвращает
Cake\Database\Schema\SchemaDialectschemaValue() public
schemaValue(mixed $value): string
Экранирует значения для использования в определениях схемы.
Параметры
-
mixed$value
Возвращает
stringsetConnection() public
setConnection(object $connection): $this
Устанавливает внутренний экземпляр подключения PDO.
Параметры
-
object$connection Экземпляр PDO.
Возвращает
$thissupports() public
supports(string $feature): bool
Возвращает, поддерживает ли драйвер данную функцию.
По умолчанию возвращает true для FEATURE_QUOTE и FEATURE_SAVEPOINT.
Параметры
-
string$feature
Возвращает
boolsupportsCTEs() public
supportsCTEs(): bool
Возвращает true, если сервер поддерживает выражения с общими таблицами.
Возвращает
boolsupportsDynamicConstraints() public
supportsDynamicConstraints(): bool
Возвращает, поддерживает ли драйвер добавление или удаление ограничений к уже созданным таблицам.
Возвращает
boolsupportsNativeJson() public
supportsNativeJson(): bool
Возвращает true, если сервер поддерживает столбцы с нативным JSON.
Возвращает
boolsupportsQuoting() public
supportsQuoting(): bool
Проверяет, поддерживает ли драйвер цитирование, так как PDO_ODBC его не поддерживает.
Возвращает
boolsupportsSavePoints() public
supportsSavePoints(): bool
Возвращает, поддерживает ли этот драйвер точки сохранения для вложенных транзакций.
Возвращает
boolsupportsWindowFunctions() public
supportsWindowFunctions(): bool
Возвращает true, если подключенный сервер поддерживает оконные функции.
Возвращает
boolversion() public
version(): string
Возвращает версию подключенного сервера.
Возвращает
stringПодробное описание свойств
$_autoQuoting protected
Указывает, выполняет ли драйвер автоматическое заключение идентификаторов в кавычки для всех запросов
Тип
bool$_baseConfig protected
Базовые параметры конфигурации для драйвера MySQL
Тип
array<string, mixed>$_config protected
Данные конфигурации.
Тип
array<string, mixed>$_connection protected
Экземпляр PDO.
Тип
PDO$_endQuote protected
Строка, используемая для завершения цитирования идентификатора базы данных, чтобы сделать его безопасным
Тип
string$_schemaDialect protected
Диалект схемы для данного драйвера
Тип
Cake\Database\Schema\MysqlSchemaDialect|null$_startQuote protected
Строка, используемая для начала цитирования идентификатора базы данных, чтобы сделать его безопасным
Тип
string$_version protected
Версия сервера
Тип
string|null$connectRetries protected
Последнее количество попыток повторного подключения.
Тип
int$featureVersions protected
Сопоставление функции с версией сервера базы данных для проверки доступности функции.
Тип
array<string, array<string, string>>$serverType protected
Тип сервера.
Если базовый сервер — MariaDB, его значение будет установлено в 'mariadb' после вызова метода version().
Тип
string
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.3/class-Cake.Database.Driver.Mysql.html