ALLWEB free. Sezione dedicata al database MySql. Prevenire gli errori o cercare di limitare il tempo della loro ricerca.

ALLWEB  


Home  -  Mappa directory Aggiungimi a Preferiti
PHP
» Introduzione
» In locale
» File .ini
» Struttura
» Variabili
» Costanti
» Array
» Operatori
» Cicli
» Funzioni
» Funzioni utente
» Include/require
» Sessioni
» Dinamico Get
» Dinamico Post
» Php e file .txt

MySql
» Introduzione
» PhpMyAdmin
» Connessione
» Query
» Funzioni
» Errori
» Esempio

Errori:

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 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.
In caso di errore di connessione il programma continua a girare, le pagine vengono generate ma il risultato non sarà quello sperato e non vedremo nessun messaggio di errore!!



Vediamo come utilizzare alcuni accorgimenti per limitare il tempo perso:

1) Per prima cosa controllate di aver inserito i punti e virgola ( ; ) in tutte le righe del programma, è uno degli errori più classici.

2A) Se i ( ; ) sono ok il prossimo passo è quello di controllare le variabili. Per verificare se lavorano correttamente inserite tanti echo $variabile; quanti sono i processi da controllare. A video potrete controllare i risultati.

2B) Per verificare se una connessione è attiva associate la connessione ad una variabile e scrivetela. Se la connessione è attiva vedrete scritto qualcosa, se è inattiva il risultato sarà (false) ed a video non vedrete niente!!

3) Ricordatevi che in una query di connessione database le variabili che contengono testo devono essere contenute da apici e doppi apici, se non lo fate la query non genera nessun risultato, ma non restituisce neppure l'errore!! Semplicemente non risponde a quello chiesto.





Prevenire gli errori connessione:

C'è una procedura per prevenire gli errori di connessione, ma ricordate che tutto il codice che verrà introdotto nel programma potrebbe rallentare la sua esecuzione, sopratutto se il codice deve essere elaborato dal server (host), e quindi la velocità di esecuzione non dipende dal browser utente.

(Apriamo una parentesi su quello appena detto sopra: Ogni navigatore scarica le pagine e le visualizza. La velocità con la quale visualizza le pagine dipende (in modo considerevole ma non solo..) dal tipo di connessione telefonica.
Immaginiamo di attendere in media 7 sec. (ed è un tempo già alto) se a questi sommiamo altri 5 sec. di tempo che il client utilizza per manipolare i dati fra MySql e php.... abbiamo perso un utente.)

Chiusa la parentesi vediamo il codice che possiamo inserire nelle query per verificare se la connessione è andata a buon fine:

N.B.Gli esempi sotto includono le variabili di connessione come nelle sezioni precedenti:
$db_host = "localhost";
$db_user = "nostro nome";
$db_password = "nostra password";
$db_database = "nome nostro database";



$xxx = mysql_connect($db_host,$db_user,$db_password) or die("Errore connessione MySql: " . mysql_error());

mysql_select_db($db_database,$xxx) or die("Errore connessione database: " . mysql_error());


Spiegazione:

mysql_connect(server, login, password);
Questa funzione è quella che consente il collegamento con il nostro database. I valori da inserire solitamente sono dati dal server dove risiede il database (In fase di registrazione utente dovete inserire la password ed il login).
Questa funzione se riceve un valore lo passa alla variabile resource (nel nostro esempio $xxx).

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 con il semplice comando echo""; .
Tramite questo espediente riusciamo a trovare l'errore direttamente su MySql ed a visualizzarlo sul video.




Programmazione
» HTML
» CSS
» JAVASCRIPT

Utility
» Tavolozza colori
» Crea metacomandi
» Crea pop-up

Script
Motore di ricerca script
Javascript PHP

Articoli
» Php Contatore
» Php Contatore .txt
» Php Database .txt
» Php Redirect
» Php Info-Navigatori
» Php-Css caratteri
» Php register_globals
» Ottimizzare siti
Sezione database MySql di ALLWEB free. In questa sezione sono inseriti i comandi fondamentali della programmazione delle tabelle in MySql.
Pagina Link