PHP: Connessione MySQL (mysqli)
Connessione MySQL con mysqli
L’estensione mysqli
in PHP consente di collegarsi a un database MySQL e di interagire con esso. Vediamo come stabilire una connessione, controllare eventuali errori e chiuderla correttamente.
Introduzione
Per lavorare con i database MySQL, PHP mette a disposizione l’estensione mysqli
. Il suo scopo principale è permettere la connessione al server, l’invio di query e la gestione dei dati restituiti. È fondamentale controllare sempre che la connessione sia andata a buon fine per evitare errori durante l’esecuzione delle operazioni.
Esempio di connessione
Nell’esempio seguente mostriamo come stabilire una connessione a un database MySQL utilizzando i parametri di base: host, utente, password e nome del database.
Codice Esempio: connessione al database

<?php
$host = "localhost";
$user = "root";
$password = "";
$database = "scuola";
// Creazione della connessione
$conn = new mysqli($host, $user, $password, $database);
// Controllo errori
if ($conn->connect_error) {
die("Connessione fallita: " . $conn->connect_error);
}
echo "Connessione riuscita!";
// Chiusura connessione
$conn->close();
?>
<!-- Output:
Connessione riuscita!
-->
Esempio con gestione errori più dettagliata
Possiamo aggiungere ulteriori informazioni sul tipo di errore che si verifica durante la connessione, utilizzando le proprietà connect_errno
e connect_error
.
Codice Esempio: gestione errori

<?php
$host = "localhost";
$user = "root";
$password = "";
$database = "scuola";
$conn = new mysqli($host, $user, $password, $database);
if ($conn->connect_errno) {
echo "Errore numero: " . $conn->connect_errno . "<br>";
echo "Descrizione errore: " . $conn->connect_error;
exit();
}
echo "Connessione al database stabilita correttamente.";
$conn->close();
?>
<!-- Output (se errore):
Errore numero: 1045
Descrizione errore: Access denied for user 'root'@'localhost' (using password: YES)
Output (se ok):
Connessione al database stabilita correttamente.
-->
Tabella riassuntiva
Proprietà/Metodo | Descrizione | Uso |
---|---|---|
$conn->connect_error |
Restituisce il messaggio di errore se la connessione non riesce. | Debug degli errori di connessione. |
$conn->connect_errno |
Restituisce il codice numerico dell’errore. | Identificazione del tipo di problema. |
$conn->close() |
Chiude la connessione al database. | Liberare risorse e buona pratica. |
Considerazioni
Stabilire una connessione a MySQL con mysqli
è il primo passo per lavorare con i dati. È buona norma verificare sempre errori ed effettuare la chiusura della connessione quando non è più necessaria. In seguito vedremo come eseguire query SQL tramite la stessa estensione.