Gå til innhold

Vise feilmelding hvis felt ikke finnes i database


Anbefalte innlegg

Hei.

Driver å mekker en side som skal sende en verdi (f.eks http://www.example.com/index.php?id=apekatt) over til en annen side. På den andre siden bruker jeg MOD_REWRITE til å gjøre urlen mer fin (ala http://www.example.com/apekatt) På denne andre siden bruker jeg en GET funksjon som da slår opp apekatt (eller hvilke post det skal være) i databasen og viser innholdet etter å ha gjennomført en spørring i databasen (SELECT * FROM database WHERE sid=$id).

 

Det jeg trenger er;

Hvis en bruker da skriver inn f.eks skjerm etter http://www.example.com/ og verdien skjerm ikke eksisterer i databasen, vil jeg vise en feilmelding. Hvordan får jeg til dette?

Lenke til kommentar
Videoannonse
Annonse

Du kan kjøre denne queryen feks:

 

SHOW COLUMNS FROM tabel LIKE "<felt>"

 

Og de om du får noe tilbake.

 

Se også på mysql_list_fields() funksjonen.

 

Jeg vil også anbefale dere å lese litt på bruker kommentarene som er lagt inn på php.net mye å lære der.

Lenke til kommentar

Det jeg er ute etter, er å kunne legge til en feilmelding hvis det ikke er noe felt med det navnet i databasen altså hvis f.eks en eller annen person prøver å skrive inn f.eks dust, kaudervelsk eller noe etter http:/example.com/ uten at det er et felt i databasen som heter dust eller kaudervelsk. Hvordan gjør jeg det?

Lenke til kommentar

Altså du har:

 

En tabell med data (ikke felt) som inneholder nøkkelord som f.eks "apekatt" og "hest" men ikke "hestesko"

 

urlen: http://example.com/index.php?id=hest

hvor du vil vise alle data som også inneholder "hest" i ett gitt felt

 

urlen: http://example.com/index.php?id=hestesko

hvor du vil vise feilmelding fordi det gitte feltet ikke inneholder "hestesko".

 

Det du da trenger er en spørring av typen $query="SELECT * FROM Tabell WHERE MyField='{$_GET['id']}"; som du henter med $rh=mysql_query($query) or $debug['error']="Query '$query' failed with the error ".mysql_error(); og sjekker if(mysql_num_rows($rh)!==0){/* fant passende felt */} else {/* fant ikke passende felt. Vis feilmelding /*}

 

Hvis du faktisk mente "felt" og ikke "verdi" da du skrev 'felt' så tror jeg du er på ville veier og vil se mere på relasjonene og 'join' som tilbys i bla.a. mysql.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...