PHP Tutorial på Database Unntak

Når du bruker PHP til å koble til en database, som MySQL eller SQL Server, kan flere problemer oppstå, herunder feil påloggingsinformasjon til manglende tabeller til spørringer som mislykkes. Programmere et unntak håndterer å fange opp feil, slik at du kan håndtere dem på riktig måte. Unntak håndtering i PHP innebærer "prøve, kaste og fange" metode. Først du "prøve" å utføre en funksjon eller en blokk med kode. Hvis denne koden mislykkes, "kaste" unntaket til et behandlingsprogram, som "fanger" det og hindrer websiden fra å vise uønskede resultater.

Bruksanvisning

1 Åpne HTML-fil. Sett markøren der du ønsker å håndtere et mulig unntak.

2 Skriv inn følgende kode:

try {

$ Conn = mysql_connect ($ dbhost, $ dbUsername, $ dbPass);

Dette setter opp forsøket på å utføre en handling; i dette tilfellet, å etablere en forbindelse til en MySQL database. Du kan også prøve å koble til andre databaser, for eksempel ved å bruke "odbc_connect ()" -funksjon for å koble til en Microsoft Access database. Unntaket håndtering forblir den samme.

3 Skriv inn følgende kode:

if ($ DBH === false) {kaster nytt unntak (1); } Else {

mysql_select_db ($ dbnavn);

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

if ($ query === false) {kaster nytt unntak (2); }

}

Den første hvis setningen sjekker for å se om en PHP gjort en tilkobling til en database. Hvis ikke, kaster det et unntak og passerer "1" som det unntak meldingen. Du kan endre denne verdien til noe mer forståelig. Hvis tilkoblingen er opprettet, prøver koden deretter å spørre et bord. Hvis det forsøket ikke lykkes, for eksempel fordi tabellen ikke finnes, kaster PHP et unntak og passerer "2" som unntak meldingen. Koden stenger så hvis setningen blokker og prøve blokken. Kast flere unntak der det er hensiktsmessig basert på hva slags interaksjoner koden gjør med databasen.

4 Skriv inn følgende kode:

catch (Exception $ e) {

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

echo "Kan ikke logge inn til databasen.";

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

echo "Kan ikke utføre spørring.";

}

}

Når PHP kaster en database unntak, utfører catch-blokken. Disse linjene bruke $ e unntaket variabel og trekke meldingen sendes til den. Hvis PHP ikke kan koble til en database, blir den første feilmeldingen skrives ut på websiden. Hvis det ikke kunne søke i databasen, er den andre meldingen skrives ut. Skriv ytterligere unntak i catch-blokken for andre mulige feil.

5 Lagre HTML-fil og laste den opp til webserveren.

Hint

  • Når du kaster en gjenstand i koden, passerer en forekomst av Exception klasse til catch-blokken. Ellers returnerer PHP en programmeringsfeil.