In questo tutorial, impareremo come usare la funzione mysqli_fetch_array in php. Questa funzione ci consente di recuperare le righe da un database MySQL e archiviarle come un array PHP. La funzione consente di archiviare i valori come array associativo, un array numerico o una combinazione di entrambi. Puoi quindi manipolare l'array come al solito. Ci immergiamo.
Sintassi della funzione
Il seguente snippet mostra la sintassi procedurale per la funzione mysqli_fetch_array:
mysqli_fetch_array (mysqli_result $ risultato, int $ modalità = mysqli_both): array | null | false
I parametri della funzione sono come mostrati:
- Risultato - Questo parametro ti consente di specificare l'oggetto mysql_result restituito da mysqli_query (), mysqli_store_result (), mysqli_stmt_get_result () o mysqli_use_result () funzioni.
- Modalità: il parametro della modalità definisce il tipo di array utilizzato per archiviare i valori risultanti. I valori accettati includono:
- Mysqli_assoc - Array associativo.
- Mysqli_num - array numerico.
- Mysqli_both - una combinazione dell'array associativo e numerico.
La funzione restituirà quindi l'array con le righe recuperate. Se non ci sono righe recuperate, la funzione restituisce null o false su errore.
Esempio di utilizzo
Discutiamo un esempio di utilizzo della funzione mysqli_fetch_array (). Inizia creando un database di esempio, tabella e dati come mostrato nella query seguente:
Crea database SRC;
Usa src;
Drop tabella se esiste stack_mapping;
Crea table stack_mapping (
id int auto_increment chiave primaria,
server_name varchar (50) non null,
indirizzo varchar (100) non null,
Instald_version varchar (50),
strumento_id int
);
Inserisci in stack_mapping (server_name, indirizzo, installato_version, strumento_id)
Valori ('sql server', 'localhost: 1433', '15.0 ', 1),
("Elasticsearch", 'LocalHost: 9200', '8.4 ', 2),
('Redis', 'Localhost: 6379', '6.0 ', 3),
("Postgresql", 'Localhost: 5432', '14.5 ', 4),
('Mysql', 'localhost: 3306', '8.0 ', null);
La tabella risultante è come mostrata:
L'esempio seguente mostra come utilizzare la funzione php mysqli_fetch_array per restituire le righe dalla tabella sopra come un array.
Inizia creando un file PHP:
$ touch recupera.PHP
Modifica il file:
$ Vim Fetch.PHP
Aggiungi il codice come mostrato:
$ mysqli = mysqli_connect ("localhost: 3306", "root", "", "src");
if (mysqli_connect_errno ())
die ("Impossibile connettersi");
$ query = "Seleziona server_name, indirizzo da stack_mapping";
$ result = mysqli_query ($ mysqli, $ query);
while ($ row = mysqli_fetch_array ($ risultato, mysqli_assoc))
printf ("%s (%s) \ n", $ row ["server_name"], $ row ["indirizzo"]);
mysqli_free_result ($ risultato);
?>
Infine, esegui lo script con PHP:
PHP Fetch.PHP
Ciò dovrebbe restituire le righe come un array associativo, noto anche come dizionario in altri linguaggi di programmazione.
NOTA: Nota che stiamo accedendo ai valori del dizionario usando il nome della riga (chiave del dizionario).
Un output di esempio è come mostrato:
SQL Server (LocalHost: 1433)
Elasticsearch (LocalHost: 9200)
Redis (localhost: 6379)
PostgreSQL (LocalHost: 5432)
MySQL (LocalHost: 3306)
Per restituire i valori come array numerico, possiamo usare la query:
$ mysqli = mysqli_connect ("localhost: 3306", "root", "", "src");
if (mysqli_connect_errno ())
die ("Impossibile connettersi");
$ query = "Seleziona server_name, indirizzo da stack_mapping";
$ result = mysqli_query ($ mysqli, $ query);
while ($ row = mysqli_fetch_array ($ risultato, mysqli_num))
printf ("%s (%s) \ n", $ row [0], $ row [1]);
mysqli_free_result ($ risultato);
?>
Allo stesso modo, il codice sopra dovrebbe restituire le righe come:
SQL Server (LocalHost: 1433)
Elasticsearch (LocalHost: 9200)
Redis (localhost: 6379)
PostgreSQL (LocalHost: 5432)
MySQL (LocalHost: 3306)
Infine, per ottenere i risultati sia come matrici associative che numeriche.
$ mysqli = mysqli_connect ("localhost: 3306", "root", "", "src");
if (mysqli_connect_errno ())
die ("Impossibile connettersi");
$ query = "Seleziona server_name, indirizzo da stack_mapping";
$ result = mysqli_query ($ mysqli, $ query);
while ($ row = mysqli_fetch_array ($ risultato, mysqli_both))
printf ("%s (%s) \ n", $ row [0], $ row ["indirizzo"]);
mysqli_free_result ($ risultato);
?>
Conclusione
In questo articolo, hai imparato a utilizzare la funzione mysqli_fetch_array in PHP per recuperare le righe da un database come array.