PDO_MYSQL este un driver care implementează interfața PHP Data Objects (PDO) pentru a permite accesul din PHP la bazele de date MySQL. Când rulați o versiune PHP înainte de 7.1.16 sau PHP 7.2 înainte de 7.2.4, setați pluginul de parolă implicit al MySQL 8 Server la mysql_native_password sau veți vedea erori similare cu Metoda de autentificare solicitată de server necunoscută clientului [caching_sha2_password] chiar și atunci când caching_sha2_password nu este folosit. Acest lucru se datorează faptului că MySQL 8 este implicit caching_sha2_password, un plugin care nu este recunoscut de versiunile mai vechi PHP (mysqlnd). În schimb, schimbați-l setând în . Pluginul caching_sha2_password va fi acceptat într-o versiune PHP viitoare. Între timp, extensia mysql_xdevapi o acceptă. Avertisment Atenție: Unele tipuri de tabele MySQL (motoare de stocare) nu acceptă tranzacții. Când scrieți codul bazei de date tranzacționale folosind un tip de tabel care nu acceptă tranzacții, MySQL va pretinde că o tranzacție a fost inițiată cu succes. În plus, orice interogări DDL emise vor implica implicit orice tranzacție în așteptare. Driverul MySQL nu acceptă corect prin PDOStatement::bindParam, în timp ce astfel de parametri pot fi utilizați, ei nu sunt actualizați (adică ieșirea reală este ignorată) Distribuțiile Unix comune includ versiuni binare de PHP care pot fi instalate. Deși aceste versiuni binare sunt în mod obișnuit construite cu suport pentru extensiile MySQL, bibliotecile de extensie în sine pot fi instalate folosind un pachet suplimentar. Verificați disponibilitatea managerului de pachete care vine cu distribuția aleasă. De exemplu, pe Ubuntu pachetul instalează extensiile PHP ext/mysql, ext/mysqli și PDO_MYSQL. Pe CentOS, pachetul instalează și aceste trei extensii PHP. Alternativ, puteți compila singur această extensie. Construirea PHP din sursă vă permite să specificați extensiile MySQL pe care doriți să le utilizați, precum și alegerea dvs. de bibliotecă client pentru fiecare extensie. La compilare, utilizați --with-pdo-mysql[=DIR] pentru a instala extensia PDO MySQL, unde opțional este biblioteca de bază MySQL. Mysqlnd este biblioteca implicită. Pentru detalii despre alegerea unei biblioteci, consultați Alegerea unei biblioteci MySQL. Opțional, --with-mysql-sock[=DIR] se setează la locație la indicatorul MySQL unix socket pentru toate extensiile MySQL, inclusiv PDO_MYSQL. Dacă nu este specificat, sunt căutate locațiile implicite. Opțional, --with-zlib-dir[=DIR] este folosit pentru a seta calea către prefixul de instalare libz. Suportul SSL este activat folosind constantele PDO_MySQL corespunzătoare, ceea ce este echivalent cu apelarea funcției API MySQL C ÃÂàmysql_ssl_set De asemenea, SSL nu poate fi activat cu PDO::setAttribute deoarece conexiunea există deja. Consultați și documentația MySQL despre ÂÂû conectarea la MySQL cu SSL Constantele de mai jos sunt definite de acest driver și vor fi disponibile numai atunci când extensia a fost fie compilată în PHP, fie încărcată dinamic în timpul execuției. În plus, aceste constante specifice driverului ar trebui utilizate numai dacă utilizați acest driver. Utilizarea atributelor specifice driverului cu un alt driver poate duce la un comportament neașteptat. PDO::getAttribute() poate fi folosit pentru a obține atributul pentru a verifica driverul, dacă codul dumneavoastră poate rula pe mai multe drivere. pe un , driverul MySQL va folosi versiunile tampon ale API-ului MySQL. Dacă scrieți cod portabil, ar trebui să îl utilizați. Dacă acest atribut este setat pe a, driverul MySQL va folosi versiunile tampon ale API-ului MySQL. Dacă scrieți cod portabil, ar trebui să utilizați în schimb. Exemplul #1 Forțarea interogărilor să fie stocate în tampon în mysql „aplicația mea funcționează doar cu mysql; ar trebui să folosesc \$stmt->fetchAll() în schimb” Rețineți, această constantă poate fi folosită numai în matrice atunci când construiesc un nou handle de bază de date. Permite restricționarea încărcării DATELOR LOCALE la fișierele aflate în acest director desemnat. Disponibil începând cu PHP 8.1.0. Rețineți că această constantă poate fi utilizată numai în matrice atunci când se construiește un nou handle de bază de date. Comanda de executat la conectarea la serverul MySQL. Va fi re-executat automat la reconectare. Rețineți că această constantă poate fi utilizată numai în matrice atunci când se construiește un nou handle de bază de date. Citiți opțiunile din fișierul de opțiuni numit în loc de din . Această opțiune nu este disponibilă dacă este folosit mysqlnd, deoarece mysqlnd nu citește fișierele de configurare mysql. Citiți opțiunile din grupul numit din sau fișierul specificat cu . Această opțiune nu este disponibilă dacă este folosit mysqlnd, deoarece mysqlnd nu citește fișierele de configurare mysql. Dimensiunea maximă a tamponului. Implicit la 1 MiB. Această constantă nu este acceptată atunci când este compilată împotriva mysqlnd. Returnează numărul de rânduri găsite (potrivite), nu numărul de rânduri modificate. Calea fișierului către autoritatea de certificare SSL. Calea fișierului către directorul care conține certificatele SSL CA de încredere, care sunt stocate în format PEM. Calea fișierului către certificatul SSL. O listă cu unul sau mai multe cifruri permise de utilizat pentru criptarea SSL, într-un format înțeles de OpenSSL. De exemplu: Calea fișierului către cheia SSL. Oferă o modalitate de a dezactiva verificarea certificatului SSL al serverului. Acesta există începând cu PHP 7.0.18 și PHP 7.1.4. Dezactivează execuția de interogări multiple atât în ​​PDO::prepare() cât și în PDO::query() când este setat la . Rețineți că această constantă poate fi utilizată numai în matrice atunci când se construiește un nou handle de bază de date Comportamentul acestor funcții este afectat de setările din . Pentru mai multe detalii și definiții ale modurilor PHP_INI_*, vezi Pentru mai multe detalii și definiții ale modurilor PHP_INI_*, vezi Unde poate fi setată o setare de configurare Setează un socket de domeniu Unix. Această valoare poate fi setată fie în timpul compilării dacă se găsește un socket de domeniu la configurare. Această setare ini este numai Unix. Activează depanarea pentru PDO_MYSQL. Această setare este disponibilă numai când PDO_MYSQL este compilat împotriva mysqlnd și în modul de depanare PDO.