PDO_MYSQL — это драйвер, который реализует интерфейс PHP Data Objects (PDO) для обеспечения доступа из PHP к базам данных MySQL. При работе с версией PHP до 7.1.16 или PHP 7.2 до 7.2.4 установите подключаемый модуль пароля по умолчанию для сервера MySQL 8 на mysql_native_password, иначе вы увидите ошибки, подобные Сервер запросил метод аутентификации, неизвестный клиенту [caching_sha2_password], даже если caching_sha2_password не используется. Это связано с тем, что MySQL 8 по умолчанию использует caching_sha2_password, плагин, который не распознается более старыми версиями PHP (mysqlnd). Вместо этого измените его, установив в . Плагин caching_sha2_password будет поддерживаться в будущих версиях PHP. Тем временем расширение mysql_xdevapi поддерживает его. Предупреждение Остерегайтесь: некоторые типы таблиц MySQL (механизмы хранения) не поддерживают транзакции. При написании кода транзакционной базы данных с использованием типа таблицы, который не поддерживает транзакции, MySQL будет делать вид, что транзакция была инициирована успешно. Кроме того, любые выданные DDL-запросы неявно будут содержать любые незавершенные транзакции. Драйвер MySQL не поддерживает должным образом через PDOStatement::bindParam, хотя такие параметры можно использовать, они не обновляются (т.е. фактический вывод игнорируется) Распространенные дистрибутивы Unix включают бинарные версии PHP, которые можно установить. Хотя эти двоичные версии обычно создаются с поддержкой расширений MySQL, сами библиотеки расширений, возможно, потребуется установить с помощью дополнительного пакета. Проверьте доступность диспетчера пакетов, который поставляется с выбранным вами дистрибутивом. Например, в Ubuntu пакет устанавливает расширения PHP ext/mysql, ext/mysqli и PDO_MYSQL. В CentOS пакет также устанавливает эти три расширения PHP. Кроме того, вы можете скомпилировать это расширение самостоятельно. Сборка PHP из исходного кода позволяет указать расширения MySQL, которые вы хотите использовать, а также выбрать клиентскую библиотеку для каждого расширения. При компиляции используйте --with-pdo-mysql[=DIR] для установки расширения PDO MySQL, где необязательным является базовая библиотека MySQL. Mysqlnd — библиотека по умолчанию. Подробнее о выборе библиотеки см. в разделе Выбор библиотеки MySQL. Опционально --with-mysql-sock[=DIR] задает расположение указателя сокета Unix MySQL для всех расширений MySQL, включая PDO_MYSQL. Если не указано, выполняется поиск местоположений по умолчанию. Опционально --with-zlib-dir[=DIR] используется для установки пути к префиксу установки libz. Поддержка SSL включается с помощью соответствующих констант PDO_MySQL, что эквивалентно вызову функции MySQL C API mysql_ssl_set. Кроме того, SSL нельзя включить с помощью PDO::setAttribute, поскольку соединение уже существует. См. также документацию MySQL о «подключении к MySQL с помощью SSL». Приведенные ниже константы определяются этим драйвером и будут доступны только в том случае, если расширение либо скомпилировано в PHP, либо динамически загружено во время выполнения. Кроме того, эти специфичные для драйвера константы следует использовать только в том случае, если вы используете этот драйвер. Использование специфичных для драйвера атрибутов с другим драйвером может привести к неожиданному поведению. PDO::getAttribute() можно использовать для получения атрибута для проверки драйвера, если ваш код может работать с несколькими драйверами. на a драйвер MySQL будет использовать буферизованные версии API MySQL. Если вы пишете переносимый код, вам следует использовать вместо этого. Если этот атрибут установлен на a, драйвер MySQL будет использовать буферизованные версии API MySQL. Если вы пишете переносимый код, вам следует использовать вместо этого. Пример #1 Принудительная буферизация запросов в mysql "Мое приложение работает только с mysql; вместо этого я должен использовать \$stmt->fetchAll()"Обратите внимание, что эту константу можно использовать только в массиве при создании нового дескриптора базы данных. Позволяет ограничить загрузку ЛОКАЛЬНЫХ ДАННЫХ файлами, расположенными в указанном каталоге. Доступно с PHP 8.1.0. Обратите внимание, что эту константу можно использовать только в массиве при создании нового дескриптора базы данных. Команда для выполнения при подключении к серверу MySQL. Будет автоматически повторно выполняться при повторном подключении. Обратите внимание, что эту константу можно использовать только в массиве при создании нового дескриптора базы данных. Читать опции из именованного файла опций, а не из . Эта опция недоступна, если используется mysqlnd, потому что mysqlnd не читает файлы конфигурации mysql. Прочитать параметры из именованной группы из или из файла, указанного с помощью . Эта опция недоступна, если используется mysqlnd, потому что mysqlnd не читает файлы конфигурации mysql. Максимальный размер буфера. По умолчанию 1 МБ. Эта константа не поддерживается при компиляции с mysqlnd. Возвращает количество найденных (совпадающих) строк, а не количество измененных строк. Путь к файлу центра сертификации SSL. Путь к каталогу, содержащему доверенные сертификаты SSL CA, которые хранятся в формате PEM. Путь к файлу SSL-сертификата. Список из одного или нескольких допустимых шифров для шифрования SSL в формате, понятном OpenSSL. Например: Путь к файлу с ключом SSL. Предоставляет способ отключить проверку SSL-сертификата сервера. Это существует с PHP 7.0.18 и PHP 7.1.4. Отключает выполнение нескольких запросов как в PDO::prepare(), так и в PDO::query(), если установлено значение . Обратите внимание, что эту константу можно использовать только в массиве при создании нового дескриптора базы данных. На поведение этих функций влияют настройки в . Дополнительные сведения и определения режимов PHP_INI_* см. в разделе. Дополнительные сведения и определения режимов PHP_INI_* см. в разделе Где можно установить параметр конфигурации. Устанавливает сокет домена Unix. Это значение может быть установлено во время компиляции, если при настройке найден сокет домена. Эта настройка ini предназначена только для Unix. Включает отладку для PDO_MYSQL. Этот параметр доступен только тогда, когда PDO_MYSQL компилируется с mysqlnd и в режиме отладки PDO.