Pubblicità

Connessione a MySql - PHP

Per aprire una connessione in PHP al database MySQL, si utilizza una funzione nativa del linguaggio chiamata mysql_connect(), essa restituisce un identificativo di connessione MySQL in caso di successo, diversamente restituisce FALSE;


        
  	<?php
		$conn = mysql_connect('localhost', 'nome_utente', 'password');
			if (!$conn) {
				die ('Non riesco a connettermi: ' . mysql_error());
				}

		$db_selected = mysql_select_db('prova', $conn);
			if (!$db_selected) {
				die ("Errore nella selezione del database: " . mysql_error());
				}

		echo 'connesso con successo';

		mysql_close($conn);
	?>
        

La prima riga di codice ci mostra come aprire una connessione utilizzando la funzione mysql_connect(), per completare tale funzione bisogna assegnare l'indirizzo del server, nome utente e password del database, nella maggior parte dei casi MySQL gira sulla stessa macchina in cui è in funzione il server web (e quindi il PHP) pertanto l'indirizzo da specificare è "localhost" in quanto operiamo in locale, se invece il server si trova su un diverso computer, raggiungibile attraverso una connessione TCP/IP, allora bisogna specificare il nome di dominio o l'indirizzo IP (es. 162.54.23.12) della macchina che lo ospita, come user impostiamo "admin" e come password "admin".
Verifichiamo se la connessione ha avuto successo con if(!$conn)
in caso contrario grazie alla funzione mysql_error verrà restituito il testo dell'errore dall'ultima funzione MySQL .

Pubblicità

Effettuata la connessione a MySQL si è soliti specificare il nome del database su cui si vogliono effettuare le query.
Per dichiarare il nome del database si usa la funzione mysql_select_db() che restituisce TRUE o FALSE a seconda dell'esito dell'operazione. Anche questa volta conviene subito controllare tale risultato ed eventualmente mostrare un messaggio di errore con la funzione mysql_error().
In questo esempio abbiamo associato la variabile $db_selected alla funzione mysql_select_db() dove al suo interno specifichiamo il nome del database "prova" e richiamiamo la variabile $conn per aver accesso al database impostato.

Se tutto è andato a buon fine stampiamo a video con un echo""; un messaggio che ci avvisa che siamo connessi al database.
In fine chiudiamo la connessione con mysql_close($conn).

Per molti motivi ma sopratutto per motivi di praticità e velocità e giusta norma assegnare i dati di accesso a MySql a delle variabili:

        
  	<?php
		$DB_host     = 'localhost';
        $DB_user     = 'nome_utente';
        $DB_password = 'password';
        $DB_name     = 'prova';

		$conn = mysql_connect($DB_host, $DB_user, $DB_password);
			if (!$conn) {
				die ('Non riesco a connettermi: ' . mysql_error());
				}

		$db_selected = mysql_select_db($DB_name, $conn);
			if (!$db_selected) {
				die ("Errore nella selezione del database: " . mysql_error());
				}

		echo 'connesso con successo';

		mysql_close($conn);
	?>
        

La funzione mysql_connect() potrebbe restituire il seguente errore:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in ...
Questo errore è dovuto alla versione di PHP infatti questa estensione è stata sconsigliata a PHP 5.5.0, ed è stato rimosso in PHP 7.0.0. così come tutte le funzioni che iniziano per mysql_ perché hanno problemi di sicurezza, quindi si consiglia di passare all'estensione mysqli oppure PDO, ma è possbile nascondere questo errore aggiungengo na semplice @ davanti la funzione mysql_ , @mysql_connect

Passa a PDO Adesso

Pubblicità