Avatar billede stagedk Nybegynder
10. februar 2009 - 23:33 Der er 14 kommentarer og
1 løsning

fejl i Syntax?.

Jeg har et problem, jeg skal lave en INSERT query, men min database synes åbenbart ikke så godt om den, nogle der kan fortælle mig hvad problemet er ?


mysql_query("INSERT INTO lp_members (username, password, f_name, l_name, adress, zip, city, phone, titel, email) VALUES ('$username','$psw','$f_name','$l_name','$adress','$zip','$city','$phone','$titel,'$email')") or die(mysql_error());
Avatar billede erikjacobsen Ekspert
10. februar 2009 - 23:41 #1
Det kunne måske hjælpe at se fejl-beskeden.
Avatar billede stagedk Nybegynder
10. februar 2009 - 23:42 #2
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 '','')' at line 1
Avatar billede sn0wflake Nybegynder
10. februar 2009 - 23:44 #3
Du har en ' i en af dine værdier, f.eks.:

hejsamed'dig

...hvilket gør PHP forvirret. Husk at escape specielle tegn.
Avatar billede erikjacobsen Ekspert
10. februar 2009 - 23:45 #4
Jeg tror du mangler en:  '
Avatar billede stagedk Nybegynder
10. februar 2009 - 23:46 #5
kunne jeg godt gætte mig til, men har kigget igennem 1000 gange, og kan virkelig ikke finde det.
Avatar billede stagedk Nybegynder
10. februar 2009 - 23:47 #6
aaah got it ;)!
Avatar billede erikjacobsen Ekspert
10. februar 2009 - 23:47 #7
Det er ikke problemet umiddelbart her, sn0wflake - og man skal ikke escape sine sjove tegn. Det er fortid. Man skal bruge mysqli-funktioner med parameters for værdier i sql-sætningen. Alt andet er tidsspilde.

Men det er en helt anden sag ;)
Avatar billede stagedk Nybegynder
10. februar 2009 - 23:47 #8
snowflake, da du var først med svaret, d:
smider du et svar ;) ?
Avatar billede sn0wflake Nybegynder
10. februar 2009 - 23:47 #9
Super :)
Avatar billede erikjacobsen Ekspert
10. februar 2009 - 23:49 #10
Så anbefalingen er at læse http://dk.php.net/manual/en/mysqli.prepare.php og bruge parameters/prepared-statements i stedet for at lave sql-sætninger ved selv at sætte værdier ind i strengen.
Avatar billede stagedk Nybegynder
10. februar 2009 - 23:52 #11
erikjacobsen, jeg læste, og fattede ikke særligt meget af det d:
kan du venligst hurtigt uddybe :) ?
Avatar billede erikjacobsen Ekspert
10. februar 2009 - 23:52 #12
Jeg går ud fra at du rettede

  ...,'$titel,'...

til

  ...,'$titel','...

og det var altså ikke det sn0wflake skrev om.
Avatar billede erikjacobsen Ekspert
10. februar 2009 - 23:53 #13
"erikjacobsen, jeg læste, og fattede ikke særligt meget af det d:
kan du venligst hurtigt uddybe :) ? "

Nej, det kan jeg ikke. Det står egentlig meget pænt på det link jeg gav før. Jeg ville sikkert bare sige det på samme måde.

Men hvis du kan fortælle mig præcis hvad du ikke forstår, så kan jeg måske.
Avatar billede sn0wflake Nybegynder
10. februar 2009 - 23:56 #14
erikjacobsen: Jeg bruger PDO. Læs mere om det på http://dk.php.net/manual/en/book.pdo.php
Avatar billede erikjacobsen Ekspert
10. februar 2009 - 23:59 #15
Ja, jeg må se at være mere præcis: mysqli eller PDO eller tilsvarende...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester