Prevenire gli errori o cercare di limitare il tempo della loro ricerca.
ALLWEB free
Directory Web Script Linguaggi
Italiano Inglese Tutte
 
 19 Jan 2017
aggiungi in preferiti  
Home    Mappa directory    Script




Errori MySql:

Come abbiamo visto nella sezione prececente connettersi ad un database non è diffilicile, in pratica le connessioni sono tutte simili, varia solo il nome del database ed il criterio di selezione delle query.
La difficoltà nasce dal fatto che ad una connessione in generale, viene associato altro codice php. Magari come concetto tutto potrebbe filare liscio, ma la mancanza di una semplice virgola potrebbe bloccare tutto il programma.

Importante:
Per comprendere meglio quello scritto sotto dovete sapere che gli errori di connessione con il database non vengono segnalati a video, questo perchè il database è una macchina autonoma, che genera dati solo se interrogata.

Le query che causano l'errore sul database non faranno altro che generare il risultato false per il codice PHP. In questo caso il programma continua a girare senza produrre i risultati a video, ma neppure eventuali errori di connessione!

Spesso gli errori di connessione sono generati da distrazione, prima di applicare modifiche od altro verificate sempre che:
  • i punti e virgola ( ; ) siano presenti in tutte le righe del programma, è uno degli errori più classici.
  • le variabili che contengono del testo devono essere contenute da apici e doppi apici.



Mostrare il messaggio di errore connessione:

Per scoprire eventuali errori del database c'è una procedura ben precisa, in pratica un'aggiunta alle query che utilizziamo per la manipolazione dei dati.
Questo è il codice:
or die("Errore connessione database: " . mysql_error());
Questo comando consente un dialogo fra PHP e MySql nel caso una connessione non sia andata a buon fine, per risalire al tipo di errore.
Il codice va inserito alla fine delle query, come mostrato nell'esempio successivo.

N.B.L'esempio sotto include le variabili di connessione come negli esempi precedenti:
$db_host = "localhost";
$db_user = "nostro user di connessione";
$db_password = "nostra password di connessione";
$db_database = "nome nostro database";
$db_tabella = "nome nostra tabella";


$connessione = mysql_connect($db_host,$db_user,$db_password) or die("Errore connessione MySql: " . mysql_error());
mysql_select_db($db_database,$connessione) or die("Errore connessione database: " . mysql_error());
Spiegazione:
or
L'operatore logico or entra in funzione solo se la funzione che lo precede riceve 'false' ossia in caso di errore di connessione.

die();
La funzione die scrive a video tutto quello che contengono le parentesi.

mysql_error();
Questa funzione interagisce con il database e riporta l'errore che genera. Non pretende nessun parametro.


L'esempio sopra può essere usato per ogni tipo di collegamento al database. Come già accennato, un errore di connessione restituisce come risultato 'false' e pertanto non è visualizzabile a video tramite i normali errori PHP.
Tramite questo espediente riusciamo a trovare l'errore direttamente su MySql ed a visualizzarlo sul video.