ictys Skrevet 16. oktober 2007 Del Skrevet 16. oktober 2007 $query = "select * from $data where bok='$bok AND 'kapittel'=$kapittel AND linjenr=$linjenr Si at jeg skal lage en database som inneholder en bok. Hver enkelt linje får en egen plass i databasen. Nøkkelen er bok+kapittel+linjenr. Det går greit å sortere og skrive ut hele boka, men hva hvis jeg ønsker å velge bare en enkelt linje? spørringen blir sånn omentrent som over, men hvorfor virker den ikke? Jeg prøvde å finne ut om man kunne bruke AND, men det fant jeg ikke noe om. Hvilken kommando kan ellers brukes? Lenke til kommentar
Manfred Skrevet 16. oktober 2007 Del Skrevet 16. oktober 2007 Fullstendig feilplasserte ' Hvis du får feilmelding så må du SKRIVE ut sql'en slik den ser ut, så kan du prøve å kjøre den rett i phpMyAdmin eller noe. Lenke til kommentar
blackbrrd Skrevet 16. oktober 2007 Del Skrevet 16. oktober 2007 $query = "select * from $data where bok='$bok AND 'kapittel'=$kapittel AND linjenr=$linjenr Rett før $bok har du en ', hvor er den andre? Strengt tatt hører det her hjemme i php-forumet. Elementær debugging av SQL skrevet i kode vil være å skrive ut SQL-en før du kjører den, så du kan teste den rett i f.eks phpMyAdmin eller ett annet verktøy, for å få feilmeldingene der og rette den opp før du koder videre... Lenke til kommentar
Manfred Skrevet 16. oktober 2007 Del Skrevet 16. oktober 2007 Hva med de rundt "kapittel"? i teit mysql-stil skal vel det være ` eller noe... og ikke ' Lenke til kommentar
phpp Skrevet 17. oktober 2007 Del Skrevet 17. oktober 2007 Ser ut som du trenger litt mer info angående basic mysql.. Tekst omgitt av ' blir sett på som nemlig. "Tekst" Mens tekst omgitt av ` blir sett på som en rad\tabell. Din spørringe burde være noe mer lik: SELECT * FROM $date WHERE `bok`='$bok' AND `kapittel`='$kapittel' AND `linjenr`='$linjenr' Men du trenger ikke alltid `. For mysql skjønner lett hva det er. Jeg bruker personlig bare ` når jeg har et felt med "reservert" navn. F.eks om jeg har et felt i min database med navnet "SELECT" så er det og en reservert tekst så kan ikke skrive: SELECT * FROM tabell WHERE select=10 Siden "SELECT" er reservert og en kommando. Rette løsning ville vært: SELECT * FROM tabell WHERE `select`=10 Også som nevnt over ser du at du mangler en fnutt etter $bok, du har også tekstfnutter (') rundt kapittel, de må være rundt $kapittel istede. ugyldig: select * from $data where bok='$bok AND 'kapittel'=$kapittel AND linjenr=$linjenr gyldig: select * from $data where bok='$bok' AND kapittel='$kapittel' AND linjenr=$linjenr Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå