PHP Tutorial sulle eccezioni di database

April 30

Quando si utilizza PHP per connettersi a un database, come MySQL o SQL Server, possono verificarsi diversi problemi, tra cui le informazioni di accesso improprio alle tabelle che manca per le query che non riescono. Programmare un gestore di eccezioni per rilevare gli errori in modo da poterli gestire in modo appropriato. La gestione delle eccezioni in PHP coinvolge il metodo "prova, lanciare e catturare". In primo luogo, si "tenta" di eseguire una funzione o un blocco di codice. Se questo codice non riesce, "lanciare" l'eccezione di un gestore, che "cattura" e impedisce alla pagina Web da visualizzare i risultati indesiderati.

istruzione

1 Aprire il file HTML. Inserire il cursore in cui si desidera gestire una possibile eccezione.

2 Digitare il seguente codice:

provare {

$ Conn = mysql_connect ($ dbhost, $ dbusername, $ dbpass);

Questo imposta il tentativo di eseguire un'azione; in questo caso, stabilire una connessione ad un database MySQL. Si può anche provare a connettersi ad altri database, ad esempio utilizzando il "odbc_connect) (" la funzione per connettersi a un database di Microsoft Access. Il processo di gestione delle eccezioni rimane lo stesso.

3 Digitare il seguente codice:

if ($ dbh === false) {throw new Exception (1); } altro {

mysql_select_db ($ dbName);

$ Query = mysql_query ( "SELECT * FROM table");

if ($ query === false) {throw new Exception (2); }

}

La prima istruzione if verifica per vedere se un PHP fatto una connessione a un database. In caso contrario, viene generata un'eccezione e passa "1" come il messaggio di eccezione. Si può modificare questo valore a qualcosa di più comprensibile. Se viene stabilita la connessione, il codice tenta quindi di interrogare un tavolo. Se questo tentativo non riesce, ad esempio perché la tabella non esiste, PHP genera un'eccezione e passa "2" come il messaggio di eccezione. Il codice si chiude poi i blocchi se istruzione e del blocco try. Generare eccezioni supplementari eventualmente basati su quali tipi di interazioni Il codice fa con il database.

4 Digitare il seguente codice:

catch (Exception $ e) {

if ($ e-> getMessage () == 1) {

echo "Non riesco ad accedere al database.";

} Elseif ($ e-> getMessage () == 2) {

echo "Impossibile eseguire query.";

}

}

Quando PHP genera un'eccezione di database, il blocco catch viene eseguito. Queste linee utilizzano la variabile eccezione $ E ed estratto il messaggio passato a esso. Se il PHP non poteva connettersi a un database, il primo messaggio di errore viene stampato sulla pagina Web. Se non poteva interrogare il database, il secondo messaggio viene stampato. Scrivi ulteriori eccezioni all'interno del blocco di cattura per altri errori possibili.

5 Salvare il file HTML e caricarlo sul server Web.

Consigli e avvertenze

  • Quando si lancia un oggetto nel codice, passare un'istanza della classe Exception al blocco catch. In caso contrario, il PHP restituisce un errore di programmazione.