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] встановлює розташування покажчика сокета MySQL unix для всіх розширень 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() можна використовувати для отримання атрибута для перевірки драйвера, якщо ваш код може працювати з кількома драйверами. на , драйвер MySQL використовуватиме буферизовані версії MySQL API. Якщо ви пишете переносний код, замість цього слід використовувати. Якщо цей атрибут встановлено на a, драйвер MySQL використовуватиме буферизовані версії MySQL API. Якщо ви пишете портативний код, вам слід використовувати замість цього. Приклад №1 Примусове буферизування запитів у mysql "моя програма працює лише з mysql; замість цього я повинен використовувати \$stmt->fetchAll()"Зверніть увагу, цю константу можна використовувати лише в масиві під час створення нового дескриптора бази даних. Дозволяє обмежити завантаження ЛОКАЛЬНИХ ДАНИХ файлами, розташованими у цьому призначеному каталозі. Доступно з PHP 8.1.0. Зауважте, що цю константу можна використовувати лише в масиві під час створення нового дескриптора бази даних. Команда для виконання під час підключення до сервера MySQL. Буде автоматично повторно виконано при повторному підключенні. Зауважте, що цю константу можна використовувати лише в масиві під час створення нового дескриптора бази даних. Читати параметри з названого файлу параметрів замість . Цей параметр недоступний, якщо використовується mysqlnd, оскільки mysqlnd не читає конфігураційні файли mysql. Читати параметри з названої групи з або файлу, указаного за допомогою . Цей параметр недоступний, якщо використовується mysqlnd, оскільки mysqlnd не читає конфігураційні файли mysql. Максимальний розмір буфера. За замовчуванням 1 МіБ. Ця константа не підтримується під час компіляції з mysqlnd. Повертає кількість знайдених (відповідних) рядків, а не кількість змінених рядків. Шлях файлу до центру сертифікації SSL. Шлях файлу до каталогу, який містить надійні сертифікати ЦС SSL, які зберігаються у форматі 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.