English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base PHP

Tutorial avanzato PHP

PHP & MySQL

Manuale di riferimento PHP

Connessione MySQL PHP

In questo tutorial, imparerai come connetterti al server MySQL utilizzando PHP.

Modi per connettersi a MySQL tramite PHP

Per memorizzare o accedere ai dati del database MySQL, è necessario prima connettersi al server del database MySQL. PHP offre due modi diversi per connettersi al server MySQL:MySQLi(Migliorato MySQL) ePDO(PHP Data Objects) estensione.

Sebbene l'estensione PDO abbia maggiore portabilità e supporti oltre dodici diversi database, come dice il nome, l'estensione MySQLi supporta solo il database MySQL. Tuttavia, l'estensione MySQLi offre un metodo semplice per connettersi al server del database MySQL e eseguire query. PDO e MySQLi offrono entrambi un'API orientata agli oggetti, ma MySQLi offre anche un'API procedurale, che è relativamente facile da comprendere per i principianti.

Suggerimento:In confronto con l'estensione PDO, l'estensione MySQLi di PHP offre sia vantaggi di velocità che di funzionalità, quindi potrebbe essere una scelta migliore per progetti specifici di MySQL.

Connettersi al server di database MySQL

In PHP, puoi eseguire questa operazione facilmente utilizzando la funzione mysqli_connect(). Tutta la comunicazione tra PHP e il server di database MySQL avviene attraverso questa connessione. Di seguito sono riportate le tre sintassi di base per connettersi a MySQL utilizzando MySQLi e l'estensione PDO:

Sintassi: MySQLi, metodo procedurale

$link = mysqli_connect("hostname", "username", "password", "database");

Sintassi: MySQLi, metodo orientato agli oggetti

$mysqli = new mysqli("hostname", "username", "password", "database");

Sintassi: metodo PHP oggetti (PDO)

$pdo = new PDO("mysql:host=hostname;dbname=database", "username", "password");

Nei parametri di sintassi elencati, il parametro hostname specifica il nome dell'host (ad esempio localhost) o l'indirizzo IP del server MySQL, mentre i parametri username e password specificano le credenziali di accesso al server MySQL, e i parametri del database (se forniti) specificano il database predefinito da utilizzare per eseguire query MySQL.

Esempio seguente dimostra come utilizzare MySQLi (programmaeorientato agli oggetti

Esempio online

<?php
/* Prova a connettersi al server MySQL. Supponiamo che tu stia eseguendo MySQL.
Server con impostazioni predefinite (utente senza password "root") */
$link = mysqli_connect("localhost", "root", ");
 
//controlla la connessione
if($link === false){
    die("Errore: impossibile connettersi." . mysqli_connect_error());
}
 
//stampa informazioni sull'host
echo "Connessione riuscita. Informazioni sull'host: " . mysqli_get_host_info($link);
?>
<?php
/* Prova a connettersi al server MySQL. Supponiamo che tu stia eseguendo MySQL.
Server con impostazioni predefinite (utente senza password "root") */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
//controlla la connessione
if($mysqli === false){
    die("Errore: impossibile connettersi." . $mysqli->connect_error);
}
 
//stampa informazioni sull'host
echo \
?>
<?php
/* Prova a connettersi al server MySQL. Supponiamo che tu stia eseguendo MySQL.
Server con impostazioni predefinite (utente senza password "root") */
try{
    
    
    //imposta il modello di errore PDO su eccezione
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    //stampa informazioni sull'host
    echo \
} catch(PDOException $e){
    die("Errore: impossibile connettersi. ". $e->getMessage());
}
?>

Attenzione: Il nome utente predefinito del server di database MySQL è root, senza password. Tuttavia, per prevenire l'intrusione e l'accesso non autorizzato al database, dovresti impostare una password per l'account MySQL.

Suggerimento:Impostare l'attributo PDO::ATTR_ERRMODE su PDO::ERRMODE_EXCEPTION avvisa PDO di lanciare un'eccezione quando si verifica un errore del database.

Chiudi la connessione al server del database MySQL

Alla fine dell'esecuzione dello script, la connessione al server del database MySQL verrà chiusa automaticamente. Ma se desideri chiuderla anticipatamente, è sufficiente chiamare la funzione PHP mysqli_close().

Esempio online

<?php
/* Prova a connettersi al server MySQL. Supponiamo che tu stia eseguendo MySQL.
Server con impostazioni predefinite (utente senza password "root")*/
$link = mysqli_connect("localhost", "root", ");
 
//controlla la connessione
if($link === false){
    die("Errore: impossibile connettersi." . mysqli_connect_error());
}
 
//stampa informazioni sull'host
echo "Connessione riuscita. Informazioni sull'host: " . mysqli_get_host_info($link);
 
//chiudi la connessione
mysqli_close($link);
?>
<?php
/* Prova a connettersi al server MySQL. Supponiamo che tu stia eseguendo MySQL.
Server con impostazioni predefinite (utente senza password "root") */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
//controlla la connessione
if($mysqli === false){
    die("Errore: impossibile connettersi." . $mysqli->connect_error);
}
 
//stampa informazioni sull'host
echo "Connessione riuscita. Informazioni sull'host: " . $mysqli->host_info;
 
//chiudi la connessione
$mysqli->close();
?>
<?php
/* Prova a connettersi al server MySQL. Supponiamo che tu stia eseguendo MySQL.
Server con impostazioni predefinite (utente senza password "root") */
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    
    //imposta il modello di errore PDO su eccezione
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    //stampa informazioni sull'host
    echo "Connessione riuscita. Informazioni sull'host: " . $pdo->getAttribute(constant("PDO::ATTR_CONNECTION_STATUS"));
} catch(PDOException $e){
    die("Errore: impossibile connettersi." . $e->getMessage());
}
 
//chiudi la connessione
unset($pdo);
?>