- Home
- Categorie
- Coding e Sistemistica
- PHP
- Gestire errori database
-
Gestire errori database
Salve a tutti vorrei sapere se è possibile gestire gli errori del database.
Mi spiego meglio, ho creato nel mio database una tabella utente con 3 campi : username che è chiave primaria, password e email che ho impostato unica [unique(email)].
Poi ho creato una pagina per la registrazione di utenti dove un qualsiasi utente connesso inserisce i 3 campi (username,password,email) e se questi sono corretti avviene la registrazione.
Dunque prima di effettuare la registrazione il php vede anche i possibili errori in particolare se username e email sono già presenti nel database.
Io però non vorrei verificare se l'username e l'e-mail che l'utente ha inserito sono già presenti attraverso una select, ma vorrei farlo attraverso l'errore che il database restituisce in caso l'utente immette un username o un e-mail già esistenti.Quindi vorrei sapere come si fa a gestire gli errori del database e spero che dopo la lunga premessa sia chiaro cosa intendo
-
Ma perchè nessuno risponde?
è perchè non mi sono spiegato bene, avete capito il mio problema?
Dai please, ho bisogno di una rispsta ....
ricordatevi che l'aspetto con ansia
-
Ciao,
premesso che è sempre meglio fare i controlli prima e non tentare l'inserimento attendendo l'eventuale errore,
le funzioni **mysql_error() **e mysql_errno(), ti consentono di verificare la presenza di errori nell'ultima query eseguita.Alessandro
-
Posso chiederti per quale motivo è sempre meglio fare i controlli prima?
Per quale motivo uno dovrebbè utilizzare due quary in più solo per vedere se l'username e l'e-mail sono già presenti. invece se uno gestisce gli errori facciamo fare questo lavoro al database, altrimenti che serve mettere un attributo chiave primaria se puoi li filtriamo noi gli attributi che devono arrivare al database?
Cmq mi potresti fare un' esempio di queste due funzioni xkè non ho capito bene come usarle.
Grazie per il tuo aiuto
-
Ciao,
fare i controlli prima di tentare l'inserimento ti permette di sapere con maggiore semplicità qual è il dato errato per, ad esempio, segnalarlo all'utente.
Utilizzando mysql_error() o mysql_errno() ed analizzando l'errore generato hai la possibilità di fare "quasi" altrettanto, ma è meno sicuro e meno semplice.
In genere uso mysql_error() per gestire errori "eccezionali" (soprattuto nella fase iniziale di sviluppo) che non ho previsto di controllare prima dell'esecuzione della query.L'utilizzo delle due funzioni è semplice:
[PHP]
$risultato=@mysql_query("Qui la tua query");
if ($errore=mysql_error())
{
//Gestione errore
}
else
{
//Nessun errore
}
[/PHP]
Stesso codice per mysql_errno()Alessandro
-
Ok grazie per il tuo aiuto.
Ora farò un po' di pratica