PDO_MYSQL è un driver che implementa l'interfaccia PHP Data Objects (PDO) per consentire l'accesso da PHP ai database MySQL. Quando si esegue una versione PHP precedente alla 7.1.16 o PHP 7.2 precedente alla 7.2.4, impostare il plug-in della password predefinita di MySQL 8 Server su mysql_native_password, altrimenti verranno visualizzati errori simili a Metodo di autenticazione richiesto dal server sconosciuto al client [caching_sha2_password] anche quando caching_sha2_password non viene utilizzato. Questo perché MySQL 8 ha come impostazione predefinita caching_sha2_password, un plugin che non è riconosciuto dalle versioni precedenti di PHP (mysqlnd). Invece, cambialo impostando in . Il plugin caching_sha2_password sarà supportato in una futura versione di PHP. Nel frattempo, l'estensione mysql_xdevapi lo supporta. Avviso Attenzione: alcuni tipi di tabelle MySQL (motori di archiviazione) non supportano le transazioni. Quando si scrive il codice di un database transazionale utilizzando un tipo di tabella che non supporta le transazioni, MySQL fingerà che una transazione sia stata avviata con successo. Inoltre, qualsiasi query DDL emessa eseguirà implicitamente tutte le transazioni in sospeso. Il driver MySQL non supporta correttamente tramite PDOStatement::bindParam mentre tali parametri possono essere utilizzati, non vengono aggiornati (ovvero l'output effettivo viene ignorato) Le comuni distribuzioni Unix includono versioni binarie di PHP che possono essere installate. Sebbene queste versioni binarie siano generalmente create con il supporto per le estensioni MySQL, potrebbe essere necessario installare le librerie di estensioni stesse utilizzando un pacchetto aggiuntivo. Controlla la disponibilità del gestore di pacchetti fornito con la distribuzione scelta. Ad esempio, su Ubuntu il pacchetto installa le estensioni PHP ext/mysql, ext/mysqli e PDO_MYSQL. Su CentOS, il pacchetto installa anche queste tre estensioni PHP. In alternativa, puoi compilare tu stesso questa estensione. La compilazione di PHP dal sorgente consente di specificare le estensioni MySQL che si desidera utilizzare, nonché la scelta della libreria client per ciascuna estensione. Durante la compilazione, utilizzare --with-pdo-mysql[=DIR] per installare l'estensione PDO MySQL, dove l'opzionale è la libreria di base MySQL. Mysqlnd è la libreria predefinita. Per i dettagli sulla scelta di una libreria, vedere Scelta di una libreria MySQL. Facoltativamente, --with-mysql-sock[=DIR] imposta la posizione sul puntatore del socket unix MySQL per tutte le estensioni MySQL, incluso PDO_MYSQL. Se non specificato, vengono cercati i percorsi predefiniti. Facoltativamente, --with-zlib-dir[=DIR] viene utilizzato per impostare il percorso del prefisso di installazione libz. Il supporto SSL viene abilitato utilizzando le costanti PDO_MySQL appropriate, che equivale a chiamare la funzione ÃÂû MySQL C API mysql_ssl_set Inoltre, SSL non può essere abilitato con PDO::setAttribute perché la connessione esiste già. Vedi anche la documentazione di MySQL su ÃÂû connessione a MySQL con SSL Le costanti seguenti sono definite da questo driver e saranno disponibili solo quando l'estensione è stata compilata in PHP o caricata dinamicamente in fase di esecuzione. Inoltre, queste costanti specifiche del driver devono essere utilizzate solo se si utilizza questo driver. L'utilizzo di attributi specifici del driver con un altro driver può causare un comportamento imprevisto. PDO::getAttribute() può essere utilizzato per ottenere l'attributo per controllare il driver, se il codice può essere eseguito su più driver. su a , il driver MySQL utilizzerà le versioni bufferizzate dell'API MySQL. Se stai scrivendo codice portabile, dovresti usare invece. Se questo attributo è impostato su a, il driver MySQL utilizzerà le versioni bufferizzate dell'API MySQL. Se stai scrivendo codice portabile, dovresti usare invece. Esempio n. 1 Forzare il buffering delle query in mysql "la mia applicazione funziona solo con mysql; dovrei usare invece \$stmt->fetchAll()"Nota, questa costante può essere utilizzata solo nell'array quando si costruisce un nuovo handle di database. Consente di limitare il caricamento dei DATI LOCALI ai file che si trovano in questa directory designata. Disponibile a partire da PHP 8.1.0. Si noti che questa costante può essere utilizzata solo nell'array quando si costruisce un nuovo handle di database. Comando da eseguire durante la connessione al server MySQL. Verrà automaticamente rieseguito alla riconnessione. Si noti che questa costante può essere utilizzata solo nell'array quando si costruisce un nuovo handle di database. Leggi le opzioni dal file di opzioni denominato anziché da . Questa opzione non è disponibile se si utilizza mysqlnd, poiché mysqlnd non legge i file di configurazione di mysql. Leggi le opzioni dal gruppo denominato da o dal file specificato con . Questa opzione non è disponibile se si utilizza mysqlnd, poiché mysqlnd non legge i file di configurazione di mysql. Dimensione massima del buffer. L'impostazione predefinita è 1 MiB. Questa costante non è supportata se compilata su mysqlnd. Restituisce il numero di righe trovate (corrispondenti), non il numero di righe modificate. Il percorso del file dell'autorità di certificazione SSL. Il percorso del file alla directory che contiene i certificati CA SSL attendibili, archiviati in formato PEM. Il percorso file del certificato SSL. Un elenco di una o più crittografie consentite da utilizzare per la crittografia SSL, in un formato compreso da OpenSSL. Ad esempio: il percorso del file alla chiave SSL. Fornisce un modo per disabilitare la verifica del certificato SSL del server. Esiste a partire da PHP 7.0.18 e PHP 7.1.4. Disabilita l'esecuzione di più query sia in PDO::prepare() che in PDO::query() se impostato su . Si noti che questa costante può essere utilizzata solo nell'array quando si costruisce un nuovo handle di database Il comportamento di queste funzioni è influenzato dalle impostazioni in . Per ulteriori dettagli e definizioni delle modalità PHP_INI_*, vedere Per ulteriori dettagli e definizioni delle modalità PHP_INI_*, vedere Dove può essere impostata un'impostazione di configurazione Imposta un socket di dominio Unix. Questo valore può essere impostato in fase di compilazione se viene trovato un socket di dominio in configure. Questa impostazione ini è solo per Unix. Abilita il debug per PDO_MYSQL. Questa impostazione è disponibile solo quando PDO_MYSQL è compilato su mysqlnd e in modalità di debug PDO.