Avatar billede way3000 Nybegynder
27. juli 2006 - 10:07 Der er 14 kommentarer og
1 løsning

MySQL vil ikke lade mig lave en variabel limit ?

Jeg forsøger at gøre noget i denher stil:

mysql_query("SELECT * FROM tilbud ORDER BY id DESC LIMIT" $antal)

Men den fortæller mig: Parse error: parse error, unexpected T_VARIABLE in /customers/madcentralen.dk/madcentralen.dk/httpd.www/cons/003.php on line 6

Jeg har i min database (som den fint henter data fra) et felt der netop hedder antal hvor der står 2 i i dette tilfælde. hvorfor sætter den ikke bare et 2tal ind så der står:
mysql_query("SELECT * FROM tilbud ORDER BY id DESC LIMIT 2")

Det ville jo fungere, men forstår ikke hvor fejlen er. har forsøgt på mange måder at isolere den $streng. men uden held.
nogen der ved hvordan det rigtigt skrives ?

PS: det er linie 6 vi har gang i her.
Avatar billede hmortensen Nybegynder
27. juli 2006 - 10:17 #1
mysql_query("SELECT * FROM tilbud ORDER BY id DESC LIMIT $antal")
eller
mysql_query("SELECT * FROM tilbud ORDER BY id DESC LIMIT ".$antal)
Avatar billede Slettet bruger
27. juli 2006 - 10:18 #2
Hvad hvis du gør noget ala:

mysql_query("SELECT * FROM tilbud ORDER BY id DESC LIMIT $antal") or die(mysql_error())

Hvad får du så ?
Avatar billede way3000 Nybegynder
27. juli 2006 - 10:20 #3
cypermann det er en or die jeg får der :)

hmortensen jeg forsøger lige med dem. er ikke sikker på jeg fik prøvet de forslag der
Avatar billede way3000 Nybegynder
27. juli 2006 - 10:21 #4
#1 linie =  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

#2 linie = 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

så samme fejl på dem begge :S
Avatar billede hmortensen Nybegynder
27. juli 2006 - 10:23 #5
Indeholder $antal noget ?
Hvis du henter den fra adr linie:
mysql_query("SELECT * FROM tilbud ORDER BY id DESC LIMIT ".$_GET['antal'])
Avatar billede way3000 Nybegynder
27. juli 2006 - 10:25 #6
ja den indeholder tallet 2. men forsøger lige dender
Avatar billede way3000 Nybegynder
27. juli 2006 - 10:26 #7
samme resultat :(
Avatar billede hmortensen Nybegynder
27. juli 2006 - 10:26 #8
Så prøv:
var_dump($antal);
Avatar billede way3000 Nybegynder
27. juli 2006 - 10:28 #9
Nu prøvede jeg at sætte den fast (altså skrive llimit 2)
og forsøge at  echo $antal;  men den skriver intet. så underligt nok er det åbenbart det eneste den ikke får ud af databasen ?
Avatar billede way3000 Nybegynder
27. juli 2006 - 10:30 #10
var_dump($antal) = NULL
Avatar billede hmortensen Nybegynder
27. juli 2006 - 10:31 #11
Så findes $antal ikke.
Så må du finde ud af hvor $antal burde blive sat.
Avatar billede way3000 Nybegynder
27. juli 2006 - 10:32 #12
sorry det var en fejl. den skriver string(1) "1" string(2) "2"

så det er godt nok.
Avatar billede way3000 Nybegynder
27. juli 2006 - 10:33 #13
Ahh nu ved jeg det. det er simpelthen fordi jeg beder den bruge en variabel den ikke har endnu :P sorry. my bad. kunne i ikke se pga. jeg ikke viste hele koden.
Avatar billede way3000 Nybegynder
27. juli 2006 - 10:33 #14
bare gi mig et svar du fortjener klart points :D
Avatar billede hmortensen Nybegynder
27. juli 2006 - 10:34 #15
Ja så er det ikke let at se :)
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