Avatar billede ducks Nybegynder
19. marts 2006 - 17:13 Der er 12 kommentarer og
1 løsning

Mystisk problem med insert i MySQL

Jeg forstår simpelthen ikke, hvorfor den her insert ikke vil virke. Jeg har andre inserts i samme dokument der fint virker, jeg har testet alle $_POST's og de har alle output, undtagen trailer og comments, men dem har jeg heller ikke skrevet noget i formen idnen. Funktionen findPeople virker også som den skal.

I kan se opbygningen af kolonnerne her: http://img48.imageshack.us/img48/3498/mysql1sp.jpg

mysql_query("insert into mvx_movies (
    title,
    runtime,
    language,
    release,
    directorID,
    pgenre,
    sgenre,
    serie,
    trailer,
    comments
) values (
    '". $_POST["title"] ."',
    ". $_POST["runtime"] .",
    '". $_POST["language"] ."',
    ". $_POST["release_year"] .",
    ". findPeople($_POST["director"]) .",
    '". $_POST["genre"] ."',
    '". $_POST["sub_genre"] ."',
    ". $_POST["serie"] .",
    '". $_POST["trailer"] ."',
    '". $_POST["comments"] ."'
)");
Avatar billede whatever Nybegynder
19. marts 2006 - 17:18 #1
Prøv at smide en "or die(mysql_error())" efter din mysql_query.
Avatar billede whatever Nybegynder
19. marts 2006 - 17:18 #2
Så burde du få udskrevet evt. fejl.
Avatar billede erikjacobsen Ekspert
19. marts 2006 - 17:18 #3
Få den til at fortælle dig hvad der er galt

mysql_query("insert into mvx_movies (
    ,,,,
)") or die(mysql_error());
Avatar billede ducks Nybegynder
19. marts 2006 - 17:20 #4
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 'release, directorID, pgenre, sgenre, ' at line 5
Avatar billede ducks Nybegynder
19. marts 2006 - 17:34 #5
Er der ingen der ved hvad det muligvis kan være?
Avatar billede whatever Nybegynder
19. marts 2006 - 17:34 #6
Prøv at udskrive query'en

echo "insert into mvx_movies (
    title,
    runtime,
    language,
    release,
    directorID,
    pgenre,
    sgenre,
    serie,
    trailer,
    comments
) values (
    '". $_POST["title"] ."',
    ". $_POST["runtime"] .",
    '". $_POST["language"] ."',
    ". $_POST["release_year"] .",
    ". findPeople($_POST["director"]) .",
    '". $_POST["genre"] ."',
    '". $_POST["sub_genre"] ."',
    ". $_POST["serie"] .",
    '". $_POST["trailer"] ."',
    '". $_POST["comments"] ."'
)";
Avatar billede whatever Nybegynder
19. marts 2006 - 17:35 #7
Du skal udskrive den før din mysql_query.
Avatar billede ducks Nybegynder
19. marts 2006 - 17:42 #8
insert into mvx_movies ( title, runtime, language, release, directorID, pgenre, sgenre, serie, trailer, comments ) values ( 'titel', 123, 'dk', 2005, 48, 'Drama', 'Drama', 0, '', '' )
Avatar billede erikjacobsen Ekspert
19. marts 2006 - 17:46 #9
Fordi release er et reserveret ord: http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

Skriv i stedet for:    `release`
Avatar billede ducks Nybegynder
19. marts 2006 - 17:50 #10
Tak, nu ser det ud til at virke :)

Vil i have points?
Avatar billede erikjacobsen Ekspert
19. marts 2006 - 22:29 #11
Ingen point til mig, tak.
Avatar billede whatever Nybegynder
19. marts 2006 - 22:51 #12
Jeg har heller ikke behov for points.
Avatar billede ducks Nybegynder
20. marts 2006 - 14:39 #13
Okay da
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