Php mysqli_fetch_array

Php mysqli_fetch_array
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:

  1. 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.
  2. Modalità: il parametro della modalità definisce il tipo di array utilizzato per archiviare i valori risultanti. I valori accettati includono:
    1. Mysqli_assoc - Array associativo.
    2. Mysqli_num - array numerico.
    3. 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.