PHP 8.4.2 Released!

Класс Pdo\Mysql

(PHP 8 >= 8.4.0)

Введение

Этот PDO-подкласс представляет соединение с БД, которое устанавливает и обслуживает MySQL-драйвер модуля PDO.

Драйвер поддерживает выделенный для диалекта СУБД MySQL парсер SQL-запросов. Парсер умеет обрабатывать следующее:

  • Литералы в одинарных и двойных кавычках с механизмом экранирования как путём удвоения кавычки, так и путём добавления перед кавычкой обратного слеша
  • Литералы обратных кавычек, машинописных апострофов, с механизмом экранирования путём удвоения
  • Комментарии с двумя дефисами, символом решётки и комментарии в стиле языка C

Обзор класса

class Pdo\Mysql extends PDO {
/* Наследуемые константы */
public const int PDO::PARAM_NULL;
public const int PDO::PARAM_BOOL = 5;
public const int PDO::PARAM_INT = 1;
public const int PDO::PARAM_STR = 2;
public const int PDO::PARAM_LOB = 3;
public const int PDO::PARAM_STMT = 4;
public const int PDO::PARAM_STR_NATL;
public const int PDO::PARAM_STR_CHAR;
public const int PDO::PARAM_EVT_FREE;
public const int PDO::FETCH_DEFAULT;
public const int PDO::FETCH_LAZY;
public const int PDO::FETCH_ASSOC;
public const int PDO::FETCH_NUM;
public const int PDO::FETCH_BOTH;
public const int PDO::FETCH_OBJ;
public const int PDO::FETCH_BOUND;
public const int PDO::FETCH_COLUMN;
public const int PDO::FETCH_CLASS;
public const int PDO::FETCH_INTO;
public const int PDO::FETCH_FUNC;
public const int PDO::FETCH_GROUP;
public const int PDO::FETCH_UNIQUE;
public const int PDO::FETCH_KEY_PAIR;
public const int PDO::FETCH_NAMED;
public const int PDO::ATTR_PREFETCH;
public const int PDO::ATTR_TIMEOUT;
public const int PDO::ATTR_ERRMODE;
public const int PDO::ATTR_CASE;
public const int PDO::ATTR_CURSOR;
public const int PDO::ERRMODE_SILENT;
public const int PDO::CASE_NATURAL;
public const int PDO::CASE_LOWER;
public const int PDO::CASE_UPPER;
public const int PDO::NULL_NATURAL;
public const int PDO::NULL_TO_STRING;
public const string PDO::ERR_NONE;
public const int PDO::FETCH_ORI_NEXT;
public const int PDO::FETCH_ORI_LAST;
public const int PDO::FETCH_ORI_ABS;
public const int PDO::FETCH_ORI_REL;
public const int PDO::CURSOR_FWDONLY;
public const int PDO::CURSOR_SCROLL;
/* Константы */
public const int ATTR_LOCAL_INFILE;
public const int ATTR_INIT_COMMAND;
public const int ATTR_COMPRESS;
public const int ATTR_DIRECT_QUERY;
public const int ATTR_FOUND_ROWS;
public const int ATTR_IGNORE_SPACE;
public const int ATTR_SSL_KEY;
public const int ATTR_SSL_CERT;
public const int ATTR_SSL_CA;
public const int ATTR_SSL_CAPATH;
public const int ATTR_SSL_CIPHER;
/* Методы */
public getWarningCount(): int
/* Наследуемые методы */
public PDO::__construct(
    string $dsn,
    ?string $username = null,
    #[\SensitiveParameter] ?string $password = null,
    ?array $options = null
)
public PDO::commit(): bool
public static PDO::connect(
    string $dsn,
    ?string $username = null,
    #[\SensitiveParameter] ?string $password = null,
    ?array $options = null
): static
public PDO::exec(string $statement): int|false
public PDO::getAttribute(int $attribute): mixed
public PDO::prepare(string $query, array $options = []): PDOStatement|false
public PDO::query(string $query, ?int $fetchMode = null): PDOStatement|false
public PDO::query(string $query, ?int $fetchMode = PDO::FETCH_COLUMN, int $colno): PDOStatement|false
public PDO::query(
    string $query,
    ?int $fetchMode = PDO::FETCH_CLASS,
    string $classname,
    array $constructorArgs
): PDOStatement|false
public PDO::query(string $query, ?int $fetchMode = PDO::FETCH_INTO, object $object): PDOStatement|false
public PDO::quote(string $string, int $type = PDO::PARAM_STR): string|false
public PDO::setAttribute(int $attribute, mixed $value): bool
}

Предопределённые константы

Pdo\Mysql::ATTR_USE_BUFFERED_QUERY
По умолчанию SQL-запросы выполняются в режиме буферизации. MySQL-драйвер будет работать в режиме без буферизации, если в объекте Pdo\Mysql для атрибута установили значение false.

Пример #1 Пример установки для MySQL-запросов небуферизованного режима

<?php

$pdo
= new Pdo\Mysql("mysql:host=localhost;dbname=world", 'my_user', 'my_password');
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

$unbufferedResult = $pdo->query("SELECT Name FROM City");
foreach (
$unbufferedResult as $row) {
echo
$row['Name'] . PHP_EOL;
}

?>
Pdo\Mysql::ATTR_LOCAL_INFILE
Включает правило LOAD LOCAL INFILE.

Замечание: Атрибут работает только в массиве параметров драйвера — driver_options, когда создают новый дескриптор базы данных.

Pdo\Mysql::ATTR_LOCAL_INFILE_DIRECTORY
Разрешает ограничить для правила LOCAL DATA загрузку только из файлов в заданном каталоге.

Замечание: Атрибут работает только в массиве параметров драйвера — driver_options, когда создают новый дескриптор базы данных.

Pdo\Mysql::ATTR_INIT_COMMAND
Команда, которая автоматически выполняется при каждом подключении к MySQL-серверу.

Замечание: Атрибут работает только в массиве параметров драйвера — driver_options, когда создают новый дескриптор базы данных.

Pdo\Mysql::ATTR_READ_DEFAULT_FILE
Считывает параметры из файла с заданным названием, а не из файла my.cnf.

Замечание: Атрибут недоступен при работе через драйвер mysqlnd, потому что драйвер mysqlnd не считывает MySQL-файлы конфигурации.

Pdo\Mysql::ATTR_READ_DEFAULT_GROUP
Считывает параметры из группы параметров в файле my.cnf или в файле, который указали в атрибуте Pdo\Mysql::ATTR_READ_DEFAULT_FILE.

Замечание: Атрибут недоступен при работе через драйвер mysqlnd, потому что драйвер mysqlnd не считывает MySQL-файлы конфигурации.

Pdo\Mysql::ATTR_COMPRESS
Включает сжатие данных при сетевом взаимодействии.
Pdo\Mysql::ATTR_DIRECT_QUERY
Псевдоним атрибута PDO::ATTR_EMULATE_PREPARES.
Pdo\Mysql::ATTR_FOUND_ROWS
Возвращает количество строк, которые БД нашла, которые совпали, а не которые изменились.

Замечание: Атрибут работает только в массиве параметров драйвера — driver_options, когда создают новый дескриптор базы данных.

Pdo\Mysql::ATTR_IGNORE_SPACE
Разрешает использовать пробелы после названий SQL-функций. Делает названия SQL-функций зарезервированными словами.

Замечание: Атрибут работает только в массиве параметров драйвера — driver_options, когда создают новый дескриптор базы данных.

Pdo\Mysql::ATTR_MAX_BUFFER_SIZE
Устанавливает максимальный размер буфера. Значение по умолчанию равно 1 МиБ — 1024 байтам.

Замечание: Константа не поддерживается при компиляции с драйвером mysqlnd.

Pdo\Mysql::ATTR_MULTI_STATEMENTS
Со значением false атрибут отключает выполнение множественных запросов в методах PDO::prepare() и PDO::query().

Замечание: Атрибут работает только в массиве параметров драйвера — driver_options, когда создают новый дескриптор базы данных.

Pdo\Mysql::ATTR_SERVER_PUBLIC_KEY
Указывает файл открытого RSA-ключа для аутентификации на основе хеширования по алгоритму SHA-256.

Замечание: Атрибут работает только в массиве параметров драйвера — driver_options, когда создают новый дескриптор базы данных.

Pdo\Mysql::ATTR_SSL_KEY
Указывает путь к файлу с SSL-ключом.

Замечание: Атрибут работает только в массиве параметров драйвера — driver_options, когда создают новый дескриптор базы данных.

Pdo\Mysql::ATTR_SSL_CERT
Указывает путь к файлу с SSL-сертификатом.

Замечание: Атрибут работает только в массиве параметров драйвера — driver_options, когда создают новый дескриптор базы данных.

Pdo\Mysql::ATTR_SSL_CA
Указывает путь к файлу с SSL-сертификатом удостоверяющего центра.

Замечание: Атрибут работает только в массиве параметров драйвера — driver_options, когда создают новый дескриптор базы данных.

Pdo\Mysql::ATTR_SSL_CAPATH
Указывает путь к каталогу, который содержит доверенные CA-сертификаты в формате PEM для передачи данных по протоколу SSL.

Замечание: Атрибут работает только в массиве параметров драйвера — driver_options, когда создают новый дескриптор базы данных.

Pdo\Mysql::ATTR_SSL_CIPHER
Список из одного или нескольких названий допустимых алгоритмов SSL-шифрования в формате, который понимает библиотека OpenSSL. Например: DHE-RSA-AES256-SHA:AES128-SHA

Замечание: Атрибут работает только в массиве параметров драйвера — driver_options, когда создают новый дескриптор базы данных.

Pdo\Mysql::ATTR_SSL_VERIFY_SERVER_CERT
Разрешает отключать проверку SSL-сертификата сервера.

Замечание: Атрибут доступен только при работе через драйвер mysqlnd.

Замечание: Атрибут работает только в массиве параметров драйвера — driver_options, когда создают новый дескриптор базы данных.

Содержание

  • Pdo\Mysql::getWarningCount — Возвращает количество предупреждений из последнего выполненного запроса
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top