Avatar billede fatal85 Nybegynder
19. august 2010 - 16:33 Der er 10 kommentarer og
1 løsning

mysql insert med en variabel

Har den her kode til at sætte noget data ind i min tabel

mysql_connect("mysql2.gigahost.dk", "censur", "censur") or die(mysql_error());
mysql_select_db("censur") or die(mysql_error());

mysql_query("INSERT INTO $kampnummer
(albumid, albumnavn, albumlink) VALUES('$idinsert', '$navninsert', '$albumlink') ")
or die(mysql_error());

Bruger præcis den samme kode til at andet formål, det eneste der er rettet er at tabellen der indsættes i er defineret ud fra en variabel, hvor den tidligere bare har været defineret ud fra et navn. Ud fra dette kan det vel konkluderes at det er her fejlen ligger? Men hvorledes skal det så gøres?

Den kommer med følgende fejl

"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 '(albumid, albumnavn, albumlink) VALUES('1', 'Windows 7 pictures', 'http://www.fa' at line 2"

Håber der er nogen der kan hjælpe mig
Avatar billede arne_v Ekspert
19. august 2010 - 16:41 #1
Er $kampnummer tilfaeldigvis tom (ikke initialiseret) ?
Avatar billede Christian_Bundgaard Nybegynder
19. august 2010 - 18:31 #2
Prøv med:

mysql_query("INSERT INTO '".$kampnummer ."'

eller

mysql_query("INSERT INTO '$kampnummer'

Er ikke selv ekspert, men det er mit bud, selv om jeg ikke aner det :D
Avatar billede intenz Novice
19. august 2010 - 18:45 #3
Enig med arne_v. Prøv evt. at udskriv din SQL statement, så bør du kunne se fejlen.


print "INSERT INTO $kampnummer
(albumid, albumnavn, albumlink) VALUES('$idinsert', '$navninsert', '$albumlink')<br>";

mysql_query("INSERT INTO $kampnummer
(albumid, albumnavn, albumlink) VALUES('$idinsert', '$navninsert', '$albumlink') ")
or die(mysql_error());
Avatar billede fatal85 Nybegynder
19. august 2010 - 19:26 #4
I havde ret, den var defineret..dumme mig. Var fordi den blev defineret gennem "get", og havde så glemt at skrive det i urlen, men nu kommer der en ny mysql error

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 '907561 (albumid, albumnavn, albumlink) VALUES('1', 'Windows 7 pictures', 'http' at line 1

Hvis jeg printer den som intenz nævner, så får jeg følgende

INSERT INTO 907561 (albumid, albumnavn, albumlink) VALUES('1', 'Windows 7 pictures', 'http://www.linktilalbum.dk')
Avatar billede fatal85 Nybegynder
19. august 2010 - 19:28 #5
Jeg har længere oppe selected en database som jeg skal bruge til den del af koden. Er det et problem at jeg selecter en til?
Avatar billede arne_v Ekspert
19. august 2010 - 20:49 #6
Proev med enten et tabel navn som starter med et bogstav eller `` omkring tabelnavnet.
Avatar billede fatal85 Nybegynder
19. august 2010 - 21:01 #7
Hva satan...det virkede...må et tabelnavn ikke kun være tal eller hvordan?
Avatar billede arne_v Ekspert
19. august 2010 - 21:33 #8
Formentligt ikke. Det er en ret normal betingelse.
Avatar billede arne_v Ekspert
19. august 2010 - 21:34 #9
http://dev.mysql.com/doc/refman/5.1/en/identifiers.html

Identifiers may begin with a digit but unless quoted may not consist solely of digits.
Avatar billede fatal85 Nybegynder
19. august 2010 - 21:44 #10
ok, takker. Du skal nok få pointene arne, men havde jo prøvet at quote den med både "" og '' uden det virkede. Men nu ved jeg da hvad der er galt.
Avatar billede arne_v Ekspert
19. august 2010 - 22:08 #11
saa smider jeg et svar
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