domenica 27 Settembre 2020

Download in corso

Softwareone.it

11-01-2019

mysql_connect() Connessione a MySql – PHP

Per aprire una connessione in PHP per 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.

Pubblicità

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 .

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.

Pubblicità

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

I commenti sono chiusi.

Pubblicità