Avatar billede wilweb Nybegynder
01. oktober 2007 - 22:46 Der er 12 kommentarer og
2 løsninger

felj i insert

min mysql db
bEmail - varchar
bNavn - varchar
bTelefon - varchar
bDato - datetime
bYear - int
bWeek - int

mit forsøg på at indsætte i db

mysql_query("INSERT INTO booking (bEmail, bNavn, bTelefon, bDato, bYear, bWeek) VALUES(VALUES ('".$email."', '".$navn."', '".$telefon."', '" . now() . "','" . $aar . "','" . $uge . "') ") or die(mysql_error());


men der sættes kun ind i data basen hvis jeg hard coder det..

f eks. (Denne virker)
mysql_query("INSERT INTO booking (bEmail, bNavn, bTelefon, bDato, bYear, bWeek) VALUES('erik@larsen.dk', 'Erik Larsen', '30303074', '2007-09-28 21:55:53', '2007', '46' ) ") or die(mysql_error()); 


Håber du kan se fejlen...
Avatar billede nielle Nybegynder
01. oktober 2007 - 22:55 #1
Du skriver VALUES 2 gange.
Avatar billede hmortensen Nybegynder
01. oktober 2007 - 22:56 #2
og
'" . now() . "',
skal vel være
NOW(),

Da det er en mySQL funktion.
Avatar billede wilweb Nybegynder
01. oktober 2007 - 22:56 #3
ok det gør jeg sgu da også
Avatar billede wilweb Nybegynder
01. oktober 2007 - 22:59 #4
mysql_query("INSERT INTO booking (bEmail, bNavn, bTelefon, bDato, bYear, bWeek) VALUES ('".$email."', '".$navn."', '".$telefon."', '" . NOW() . "','" . $aar . "','" . $uge . "') ") or die(mysql_error());


altså sådan?
Avatar billede nielle Nybegynder
01. oktober 2007 - 23:00 #5
mysql_query("INSERT INTO booking (bEmail, bNavn, bTelefon, bDato, bYear, bWeek) VALUES ('$email', '$navn', '$telefon', now(), $aar, $uge)") or die(mysql_error());
Avatar billede wilweb Nybegynder
01. oktober 2007 - 23:11 #6
Sådan fik jeg den til at virke:

mysql_query("INSERT INTO booking (bEmail, bNavn, bTelefon, bDato, bYear, bWeek) VALUES('$email', '$navn', '$telefon', NOW(), '$aar', '$uge')") or die(mysql_error());

Smid bare et svar...
Avatar billede wilweb Nybegynder
01. oktober 2007 - 23:19 #7
hmortensen:> både NOW() og now() virker er testet...
Avatar billede hmortensen Nybegynder
01. oktober 2007 - 23:26 #8
Ja, men det var nu også dine gnyffer jeg hentød til.
Avatar billede nielle Nybegynder
02. oktober 2007 - 06:48 #9
Ja - kaldet til now() skal være *inde* i selve SQL-strengen, ikke *ude* i PHP-koden.

Vi skal vist dele på denne her :^)
Avatar billede hmortensen Nybegynder
02. oktober 2007 - 10:07 #10
Grunden til at jeg skrev det med stort også, er at det er en god idé at skrive SQL udtryk med stort, da det fremmer læsningen af sætningen.
Avatar billede nielle Nybegynder
02. oktober 2007 - 10:15 #11
Delvist enig - selv foretrækker jeg at skrive SQL-termerne:

'INSERT', 'INTO' og 'VALUES

med stort og SQL-funktionerne:

'count()' og 'now()'

med småt.

Ultimativt er det dog et spørgsmål om smag, og jeg har f.eks. oplevet at (ellers) professionelle udviklere har ment at man skulle skrive termerne med småt og holde sine tabel- og felt-navne i stort:

mysql_query("insert into BOOKING (BEMAIL, BNAVN, BTELEFON, BDATO, BYEAR, BWEEK) values ('$email', '$navn', '$telefon', NOW(), $aar, $uge')") or die(mysql_error());

Ikke lige min kop the, men det er som sagt et emne der kan være forskellige meninger om. :^)
Avatar billede hmortensen Nybegynder
02. oktober 2007 - 11:01 #12
Den har jeg heldigvis ikke set før :)
Avatar billede wilweb Nybegynder
02. oktober 2007 - 22:15 #13
Deler lidt håber det er ok!
Tak for hjælpen
Avatar billede nielle Nybegynder
02. oktober 2007 - 23:11 #14
Takker for point :^)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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