English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, imparerai come connetterti al server MySQL utilizzando 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.
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:
$link = mysqli_connect("hostname", "username", "password", "database");
$mysqli = new mysqli("hostname", "username", "password", "database");
$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
<?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.
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().
<?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); ?>