JV Skrevet 20. mars 2005 Del Skrevet 20. mars 2005 (endret) Jeg har ett lite problem. Jeg skal hente ut noe data fra en mysql datase basert på ett navn. Dette skjer da: Welcome to the MySQL monitor. Commands end with; or \g. Your MySQL connection id is 553 to server version: 4.0.23-nt-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use utlaan Database changed mysql> SELECT email FROM users WHERE name = John Viggo Grønbech; ERROR 1064: You have an error in your SQL syntax. Check the manual that corresp onds to your MySQL server version for the right syntax to use near 'Viggo Grønbe ch' at line 1 mysql> SELECT email FROM users WHERE name = "John Viggo Grønbech"; Empty set (0.00 sec) mysql> SELECT email FROM users WHERE id = "1"; +------------------------------+ | email | +------------------------------+ | john.viggo.gronbech@******.no | +------------------------------+ 1 row in set (0.00 sec) mysql> Dere ser at det fungerer ikke når jeg prøve å hente ut ved hjelp av navnet som står registrert, men ved bruk av ID fungerer det... hvorfor? Gjøre jeg noe galt? - JV - Endret 20. mars 2005 av JV Lenke til kommentar
boemane Skrevet 21. mars 2005 Del Skrevet 21. mars 2005 Jeg har ett lite problem. Jeg skal hente ut noe data fra en mysql datase basert på ett navn. Dette skjer da: Welcome to the MySQL monitor. Commands end with; or \g. Your MySQL connection id is 553 to server version: 4.0.23-nt-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use utlaan Database changed mysql> SELECT email FROM users WHERE name = John Viggo Grønbech; ERROR 1064: You have an error in your SQL syntax. Check the manual that corresp onds to your MySQL server version for the right syntax to use near 'Viggo Grønbe ch' at line 1 mysql> SELECT email FROM users WHERE name = "John Viggo Grønbech"; Empty set (0.00 sec) mysql> SELECT email FROM users WHERE id = "1"; +------------------------------+ | email | +------------------------------+ | john.viggo.gronbech@******.no | +------------------------------+ 1 row in set (0.00 sec) mysql> Dere ser at det fungerer ikke når jeg prøve å hente ut ved hjelp av navnet som står registrert, men ved bruk av ID fungerer det... hvorfor? Gjøre jeg noe galt? - JV - Du søker etter eksakt match til navnet "John Viggo Grønbech", dersom du har en stavefeil finner ikke MySQL raden. Ettersom du ikke viser kolonnen 'name' blir det vanskelig å finne ut om du søker etter rett informasjon. Dersom du ikke har hele navnet tilgjengelig kan du søke etter navn som inneholder, f.eks. select email from users where name like ('%grønbech%'); som returnerer alle rader hvor kolonnen 'name' inneholder stringen 'grønbech'. Dette er noe mer prosessor krevende enn where name = '...', og ikke like nøyaktig (ingen eksakt sammenlikning). Jeg kan hjelpe deg nærmere dersom du forteller hva denne SQL setningen returnerer: select email, name from users where id = "1"; Dersom du er interesert har jeg en SQL guide på nett: http://sql.devsiden.info/ .:BoeManE:. Lenke til kommentar
JV Skrevet 21. mars 2005 Forfatter Del Skrevet 21. mars 2005 Takk for svar.. Jeg løste det ved å hente informasjonen ved hjelp av id istede. Jeg kan bekrefte at navnet er HELT riktig.. har sjekket det men det fungerer fremdeles ikke... Lenke til kommentar
boemane Skrevet 21. mars 2005 Del Skrevet 21. mars 2005 Takk for svar.. Jeg løste det ved å hente informasjonen ved hjelp av id istede. Jeg kan bekrefte at navnet er HELT riktig.. har sjekket det men det fungerer fremdeles ikke... Fint at du løste problemet! Det kan hende årsaken er at du har en "ø" i navnet. Dette fungerer som regel fint, men av og til har MySQL problemer med ikke-engelske tegn, spesielt fra kommandolinjen. Å hente ved hjelp av ID fungerer jo 100% sikkert uansett. .:BoeManE:. 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å