Come effettuare una connessione con un Database MySql in Php e fare delle interrogazioni

in #technology7 years ago

Con il post di oggi, vorrei iniziare una nuova rubrica su Steemit. L'idea è quella di realizzare delle mini guide per chi si è interfacciato da poco con il mondo della programmazione e dell'informatica in generale ma anche chi ha già esperienza e vuole maggiori dettagli su alcune librerie e su alcune tecnologie che ho già avuto modo di testare.


cop.jpg


Come effettuare una connessione con un Database MySql in Php e fare delle interrogazioni


Dopo la lettura di questo post, sarai in grado di effettuare una connessione con il tuo database MySql ed effettuare una semplice interrogazione su una tabella, stampando tutti i record presenti.


1. Definizione dei dati del Database

Il primo step è quello che riguarda la definizione dei dati per accedere al proprio Database. Più precisamente:

// parametri del database
$db_host = "hostname";
$db_user = "la_tua_username";
$db_password = "la_tua_password";
$db_name = "nome_database";

2. Connessione al Database

La connessione viene effettuata attraverso la funzione mysqli_connect che prende in input i parametri definiti nello step precedente.

// connessione
$db = @mysqli_connect($db_host, $db_user, $db_password, $db_name);

Php mette a disposizione delle funzioni per controllare che la connessione sia avvenuta correttamente.

// controllo sulla connessione
if (mysqli_connect_errno()) {
    die (mysqli_connect_error());
}


In caso in cui la connessione non sia andata a buon fine (errore nella definizione dei dati, database al momento non accessibile, ecc...) l'esecuzione viene interrotta con la stampa a schermo del tipo di errore riscontrato.



3. Esempio di interrogazione

Per eseguire una query si utilizza la funzione mysqli_query.

Nell'esempio seguente, viene eseguita una semplice SELECT su una tabella del nostro database il cui risultato viene inserito nella variabile $result.

$query = "SELECT * FROM nome_tabella";
$result = mysqli_query($db, $query) or die('Error');


Se la query viene eseguita senza errori $result conterrà il risultato, altrimenti l'esecuzione dello script Php verrà interrotto per la presenza della funzione die().


Una volta eseguita la Query, per estrarre i record esistono diverse funzioni. La più utilizzata e quella oggetto dell'esempio di questo post è mysqli_fetch_array().

Questa funzione accetta due parametri:

  1. Il risultato di una query;
  2. La modalità di generazione dell'array (MYSQLI_NUM: genera un array numerico | MYSQLI_ASSOC: genera un array associativo | MYSQLI_BOTH: genera un array numerico e associativo).

Nel caso in cui non venga indicato il secondo parametro (infatti è opzionale), di default viene utilizzato MYSQLI_BOTH.

Volendo stampare tutti i record di una tabella TABLE_TEST, composta dai campi id, name e date:

while ($row = mysqli_fetch_array($result)) {
    echo $row['id'] . " " . $row['name'] . " " . $row['date'] . "<br />";
}


prevedendo la modalità MYSQLI_BOTH, si ottiene lo stesso risultato nel seguente modo:

while ($row = mysqli_fetch_array($result)) {
    echo $row[0] . " " . $row[1] . " " . $row[2] . "<br />";
}


Per chiudere la connessione:

mysqli_close($db);

ilbarone623.png

Sort:  

This post has been ranked within the top 80 most undervalued posts in the second half of Dec 01. We estimate that this post is undervalued by $18.88 as compared to a scenario in which every voter had an equal say.

See the full rankings and details in The Daily Tribune: Dec 01 - Part II. You can also read about some of our methodology, data analysis and technical details in our initial post.

If you are the author and would prefer not to receive these comments, simply reply "Stop" to this comment.

Bella rubrica!
Vai avanti con le lezioni! :-)