php:select_php
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| php:select_php [2024/04/16 07:33] – [Sintassi MySql] davidn | php:select_php [2024/04/16 09:50] (versione attuale) – [Query di selezione nel PHP] davidn | ||
|---|---|---|---|
| Linea 18: | Linea 18: | ||
| * **nomeTab**: | * **nomeTab**: | ||
| * **condizioni**: | * **condizioni**: | ||
| + | |||
| + | E' prassi scrivere le parole dell' | ||
| + | |||
| Supponiamo di avere la seguente tabella __utenti__ : | Supponiamo di avere la seguente tabella __utenti__ : | ||
| Linea 34: | Linea 37: | ||
| WHERE username = ' | WHERE username = ' | ||
| </ | </ | ||
| + | |||
| + | **Il risultato di una query di slezione è UNA TABELLA**. | ||
| + | |||
| + | Quello che c'è tra SELECT e FROM definisce il numero di colonne della **tabella** riusltato, le condizioni scritte nel WHERE incidono sul numero di righe. | ||
| + | |||
| + | __In generale non sappiamo quante sono le righe della **tabella** risultato della query__. | ||
| + | |||
| + | La query scritta sopra avrà il seguente risultato: | ||
| + | ^id^email^ | ||
| + | |2|lollo234@gmail.com| | ||
| + | |||
| + | E' una **tabella** con due colonne e una riga. | ||
| + | |||
| + | Una query può produrre una tabella con **zero righe**. Può accadere sia quando la tabella è vuota sia quando le condizioni del WHERE non vengono soddisfatte da nessua riga. | ||
| + | |||
| + | ===== Query di selezione nel PHP ===== | ||
| + | |||
| + | Per lanciare una SELCT usando il PHP, bisogna utilizzare la funzione **mysqli_query()**. | ||
| + | Prima di eseguire una query si deve aprire la connessione con il server. | ||
| + | |||
| + | < | ||
| + | //apriamo la connsessione | ||
| + | $link = mysqli_connect(' | ||
| + | //definiamo la query come una stringa | ||
| + | $query = " | ||
| + | //lanciamo la query e memorizziamo il risultato | ||
| + | $res=mysqli_query($link, | ||
| + | //se la query va a buon fine dentro $res c'è una tabella | ||
| + | //se la query è scritta male dentro $res c'è false | ||
| + | if(!$res) die(' | ||
| + | //se sono qui la query è scritta bene | ||
| + | if(mysqli_num_rows($res)> | ||
| + | // | ||
| + | //c'è almeno una riga | ||
| + | while ($row=mysqli_fetch_assoc($res){ | ||
| + | // | ||
| + | //fatto questo si posiziona sulla riga successiva | ||
| + | //quando le righe sono finite torna false | ||
| + | echo $row[' | ||
| + | //gli indici dell' | ||
| + | } | ||
| + | } else { | ||
| + | echo "la query non ha prodotto risultati"; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Come detto il risultato di una SELECT è una tabella, quindi in $res c'è una tabella. | ||
| + | Il PHP non può gestire una tabella tutta insieme, quindi si scorre la tabella una riga alla volta e si tratta ogni singola riga come un array associativo. | ||
| + | |||
| + | La gestione di una query di selezione avviene sempre nello stesso modo, quello che può cambiare è la query stessa, in base alla query ci si può aspettare un numero di risultati più delimitato. | ||
php/select_php.1713252780.txt.gz · Ultima modifica: 2024/04/16 07:33 da davidn
