Sk!ppy Skrevet 12. april 2010 Del Skrevet 12. april 2010 Hei Jeg har en mysql query, som jeg skal kjøre - og bruker sprintf til å legge inn informasjon. Den ser sånn ut: $query = sprintf("INSERT INTO `users` (`email`, `firstname`, `lastname`, `password`) VALUES ('%s', '%s', '%s', '%s')", $email, $fname, $lname, $pass); $mysql = mysql_query($query) or die(mysql_error()); error jeg får er: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*epost*'', '*fornavnetmitt*'', ''*etternavnetmitt*'', '*kryptertepassordetmitt*' at line 2 kan det være at jeg bruker %s? må jeg bruke noe annet? Takk! Lenke til kommentar
Sk!ppy Skrevet 12. april 2010 Forfatter Del Skrevet 12. april 2010 (endret) Fant løsningen, fjernet ' før og etter alle %s nytt problem, ny feilmelding. "Unknown column '*random tegn*' in 'field list'" *random tegn* er jo ikke no sånn column? Endret 12. april 2010 av Sk!ppy Lenke til kommentar
Ernie Skrevet 12. april 2010 Del Skrevet 12. april 2010 Du kunne ikke gjøre ting litt mer kryptisk og ullent slik at det blir helt umulig å hjelpe? Først og fremst er det ikke spesielt bra å presentere feilmeldinger med *sensur*, hva om problemet hadde ligget i verdien du tilegner epost? For det andre, hva inneholder de variablene du setter inn i spørringen? ... og tilslutt, hva er *random tegn*? Har det noen likehetstegn med data inn, eller er det rett og slett helt tilfeldig? Nå bare gjetter jeg her, men den siste feilmeldingen du får kan komme fordi du mangler ' rundt verdiene du tilegner de forskjellige feltene. Hvis ikke variablene inneholder ' fra før trenger du disse i selve spørringen. Lenke til kommentar
Sk!ppy Skrevet 12. april 2010 Forfatter Del Skrevet 12. april 2010 får ' med %s, og *random tegn* er random tegn, f.eks abubeu21o3n23uo1nfo1b231o2in1mdeim1p24m123u1b241o24n124o123m - i ca den lengden jeg skrev. Lenke til kommentar
Ernie Skrevet 13. april 2010 Del Skrevet 13. april 2010 ... og dette har absolutt ingen sammenheng med dataene du setter inn i spørringen? Har du sett på hvordan spørringen faktisk blir seendes ut og hva variablene du benytter i den faktisk inneholder? Det som slår meg er at det kan være en passord-hash av et eller annet slag som mangler ' slik at MySQL tror det er et kolonnenavn og ikke data. Lenke til kommentar
Sk!ppy Skrevet 13. april 2010 Forfatter Del Skrevet 13. april 2010 Jeg har prøvd å bare printe ut query, uten å kjøre den, så da at jeg fikk ikke med hele passord hashen, kanskje skjermen ikke var bred nok, og jeg ikke fikk scrolla helt til høyre, og når jeg la på en ' funka det heller ikke, så jeg skjønner ikke helt hva som er galt. Lenke til kommentar
Crowly Skrevet 14. april 2010 Del Skrevet 14. april 2010 $query = sprintf("INSERT INTO `users` (`email`, `firstname`, `lastname`, `password`) VALUES ('%s', '%s', '%s', '%s')",$email,$fname, $lname, $pass); echo nl2br($query); Kjør denne for å sjekke hvordan sql'en ser ut. Så kan du evt kopiere og lime den inn i phpmyadmin (eller tilsvarende) og kjøre sql'em direkte der. Så kan du manuelt endre på den til den fungerer, for så å gjøre nødvendig endringer i php koden. Lenke til kommentar
Sk!ppy Skrevet 14. april 2010 Forfatter Del Skrevet 14. april 2010 Det funka nå, men det jeg syns var litt rart, var at jeg måtte ha ' rundt %s , som var passordet, men ikke alle de andre ? Rart. Lenke til kommentar
Crowly Skrevet 15. april 2010 Del Skrevet 15. april 2010 Du skal ha ' rundt alt som er tekst. Om ikke databasen er tilgivende eller annet på slike mangler. Lenke til kommentar
Sk!ppy Skrevet 15. april 2010 Forfatter Del Skrevet 15. april 2010 Vet ikke hvorfor, men den returnerer med error med at det er dobbelt opp med ' om jeg tar det rundt, men må gjøre det på passordet. jeg er fullt klar over det, det er derfor jeg synes det er rart. Lenke til kommentar
Ernie Skrevet 15. april 2010 Del Skrevet 15. april 2010 hvor stammer de dataene fra da? $_GET/$_POST? Isåfall så kan det hende at magic_quotes er skrudd på og legger ' rundt inndataene. Lenke til kommentar
Sk!ppy Skrevet 15. april 2010 Forfatter Del Skrevet 15. april 2010 Kommer fra post, men kanskje jeg vet det, bruker quote_smart(), den bruker vel magic_quotes? fordi passordet ble jo ikke kjørt gjennom quote_smart - bare kryptert med engang 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å