Funzione MySQL PHP

Introduzione a PHP MySQL

Le funzioni MySQL ti permettono di accedere al server di database MySQL.

Installazione

Per utilizzare correttamente le funzioni di questa classe, è necessario aggiungere il supporto a MySQL durante la compilazione di PHP.

Durante la compilazione, è sufficiente utilizzare l'opzione di configurazione --with-mysql[=DIR], dove [DIR] è opzionale e indica la directory di installazione di MySQL.

Sebbene questa libreria di estensione MySQL sia compatibile con le versioni 4.1.0 di MySQL e successive, non supporta le funzionalità aggiuntive fornite da queste versioni. Per utilizzare queste funzionalità, utilizzare la libreria di estensione MySQLi.

Se si desidera installare contemporaneamente le librerie di estensione mysql e mysqli, è necessario utilizzare la stessa libreria client per evitare eventuali conflitti.

Installazione su sistema Linux

PHP 4

L'opzione --with-mysql è attivata di default. Questo comportamento predefinito può essere disabilitato utilizzando l'opzione di configurazione --without-mysql. Se si abilita MySQL senza specificare la directory di installazione, PHP utilizzerà la libreria di connessione client MySQL collegata.

Utenti di altre applicazioni che utilizzano MySQL (ad esempio auth-mysql) non devono utilizzare la libreria collegata, ma specificare la directory di installazione di MySQL, come questo: --with-mysql=/path/to/mysql. Questo costringerà PHP a utilizzare la libreria di connessione client installata con MySQL, evitando così eventuali conflitti.

PHP 5+

MySQL di default non è attivato e non ci sono librerie MySQL collegate. Utilizzare l'opzione di configurazione --with-mysql[=DIR] per aggiungere il supporto a MySQL. È possibile da MySQL Scaricare i file di intestazione e le librerie.

Installazione su sistema Windows

PHP 4

L'estensione PHP MySQL è stata compilata direttamente in PHP.

PHP 5+

MySQL di default non è attivato, quindi è necessario attivare la libreria di connessione dinamica php_mysql.dll nel file php.ini. Inoltre, PHP necessita dell'accesso alla libreria di connessione del client MySQL. La versione Windows di PHP include un libmysql.dll, affinché PHP possa comunicare con MySQL, questo file deve essere presente nel percorso di sistema PATH di Windows.

Per attivare qualsiasi libreria di estensione PHP (ad esempio php_mysql.dll), l'instruzione extension_dir deve essere impostata sulla directory della libreria di estensione. Un esempio di valore per extension_dir in PHP 5 è c:\php\ext.

Commento:Se si verifica un errore simile a questo durante l'avvio del server web: "Unable to load dynamic library './php_mysql.dll'" è perché il sistema non trova php_mysql.dll e / o libmysql.dll.

Configurazione in esecuzione

Il comportamento delle funzioni MySQL è influenzato dalle impostazioni in php.ini.

Opzioni di configurazione MySQL:

Nome Predefinito Descrizione Modificabile
mysql.allow_persistent "1" Se è permesso ai collegamenti persistenti di MySQL. PHP_INI_SYSTEM
mysql.max_persistent "-1" Il numero massimo di connessioni persistenti per processo. PHP_INI_SYSTEM
mysql.max_links "-1" Il numero massimo di connessioni per processo, inclusi i collegamenti persistenti. PHP_INI_SYSTEM
mysql.trace_mode "0" Modalità di tracciamento. Disponibile a partire da PHP 4.3.0. PHP_INI_ALL
mysql.default_port NULL Specificare il numero di porta TCP per la connessione di default al database. PHP_INI_ALL
mysql.default_socket NULL Il nome del socket predefinito. Disponibile a partire da PHP 4.0.1. PHP_INI_ALL
mysql.default_host NULL L'indirizzo del server utilizzato per impostazione predefinita. Non si applica al modalità SQL sicuro. PHP_INI_ALL
mysql.default_user NULL Il nome utente utilizzato per impostazione predefinita. Non si applica al modalità SQL sicuro. PHP_INI_ALL
mysql.default_password NULL La password utilizzata per impostazione predefinita. Non si applica al modalità SQL sicuro. PHP_INI_ALL
mysql.connect_timeout "60" Secondi di timeout di connessione. PHP_INI_ALL

Tipo di risorsa

Sono stati utilizzati due tipi di risorse nel modulo MySQL. Il primo è il gestore di connessione del database, il secondo è il set di risultati della query SQL.

Funzione MySQL PHP

PHP:Indica la versione più vecchia di PHP che supporta questa funzione.

funzione Descrizione PHP
mysql_affected_rows() Restituisce il numero di righe influenzate dalla dernière operazione MySQL. 3
mysql_change_user() Non approvato. Cambia l'utente attivo nella connessione. 3
mysql_client_encoding() Restituisce il nome del set di caratteri della connessione corrente. 4
mysql_close() Chiudi una connessione MySQL non persistente. 3
mysql_connect() Apri una connessione MySQL non persistente. 3
mysql_create_db() Non approvato. Crea un database MySQL. Usa mysql_query() al posto suo. 3
mysql_data_seek() Sposta il puntatore dei record. 3
mysql_db_name() Restituisce il nome del database dalla chiamata a mysql_list_dbs(). 3
mysql_db_query()

Non approvato. Invia una query MySQL.

Usa mysql_select_db() e mysql_query() al posto suo.

3
mysql_drop_db()

Non approvato. Elimina (rimuove) un database MySQL.

Usare mysql_query() al posto suo.

3
mysql_errno() Restituisce il codice numerico dell'errore della dernière operazione MySQL. 3
mysql_error() Restituisce il messaggio di errore di testo della dernière operazione MySQL. 3
mysql_escape_string()

Non approvato. Esci una stringa per mysql_query.

Usa mysql_real_escape_string() al posto suo.

4
mysql_fetch_array() Recupera una riga del risultato come array associativo, array numerico o entrambi. 3
mysql_fetch_assoc() Recupera una riga del risultato come array associativo. 4
mysql_fetch_field() Recupera le informazioni delle colonne dal risultato e le restituisce come oggetto. 3
mysql_fetch_lengths() Recupera la lunghezza del contenuto di ogni campo nel risultato. 3
mysql_fetch_object() Recupera una riga del risultato come oggetto. 3
mysql_fetch_row() Recupera una riga del risultato come array numerico. 3
mysql_field_flags() Recupera il flag associato al campo specificato dal risultato. 3
mysql_field_len() Restituisce la lunghezza del campo specificato. 3
mysql_field_name() Ottenere il nome del campo specificato nella risultato. 3
mysql_field_seek() Impostare il puntatore della risultato sul offset del campo specificato. 3
mysql_field_table() Ottenere il nome della tabella in cui si trova il campo specificato. 3
mysql_field_type() Ottenere il tipo del campo specificato nella risultato. 3
mysql_free_result() Rilasciare la memoria del risultato. 3
mysql_get_client_info() Ottenere le informazioni del client MySQL. 4
mysql_get_host_info() Ottenere le informazioni dell'host MySQL. 4
mysql_get_proto_info() Ottenere le informazioni del protocollo MySQL. 4
mysql_get_server_info() Ottenere le informazioni del server MySQL. 4
mysql_info() Ottenere le informazioni dell'ultima query. 4
mysql_insert_id() Ottenere l'ID generato dalla precedente operazione INSERT. 3
mysql_list_dbs() Elenca tutti i database nel server MySQL. 3
mysql_list_fields()

Non approvato. Elenca i campi nei risultati MySQL.

Usare mysql_query() al posto suo.

3
mysql_list_processes() Elenca i processi MySQL. 4
mysql_list_tables()

Non approvato. Elenca le tabelle nel database MySQL.

Usare mysql_query() al posto suo.

3
mysql_num_fields() Ottenere il numero di campi nella risultato. 3
mysql_num_rows() Ottenere il numero di righe nella risultato. 3
mysql_pconnect() Aprire una connessione persistente al server MySQL. 3
mysql_ping() Ping una connessione del server, se non ci sono connessioni, riconnetti. 4
mysql_query() Inviare una query MySQL. 3
mysql_real_escape_string() Escapare i caratteri speciali utilizzati nelle stringhe SQL. 4
mysql_result() Ottenere i dati dei risultati. 3
mysql_select_db() Scegliere il database MySQL. 3
mysql_stat() Ottenere lo stato del sistema corrente. 4
mysql_tablename() Non approvato. Ottenere il nome della tabella. Usare mysql_query() al posto suo. 3
mysql_thread_id() Restituire l'ID della thread corrente. 4
mysql_unbuffered_query() Inviare una query SQL a MySQL (senza ottenere / cache i risultati). 4

Costanti MySQL PHP

Nelle versioni successive al PHP 4.3.0, è possibile specificare più marcatori client nelle funzioni mysql_connect() e mysql_pconnect():

PHP:Indica la versione più vecchia di PHP che supporta questa costante.

Costante Descrizione PHP
MYSQL_CLIENT_COMPRESS Utilizzo del protocollo di comunicazione compresso. 4.3
MYSQL_CLIENT_IGNORE_SPACE Consentito lasciare spazi vuoti dopo il nome della funzione. 4.3
MYSQL_CLIENT_INTERACTIVE Tempo di inattività massimo consentito prima di chiudere la connessione. 4.3
MYSQL_CLIENT_SSL Utilizzo della crittografia SSL (disponibile solo nella versione 4+ della libreria client MySQL). 4.3

La funzione mysql_fetch_array() utilizza una costante per rappresentare il tipo dell'array restituito:

Costante Descrizione PHP
MYSQL_ASSOC Le colonne di dati restituite utilizzano il nome del campo come nome dell'array.  
MYSQL_BOTH Le colonne di dati restituite utilizzano il nome del campo e l'indice numerico come nome dell'array.  
MYSQL_NUM

Le colonne di dati restituiti utilizzano un indice numerico come nome dell'array.

L'indice parte da 0, rappresentando il primo campo dei risultati restituiti.