/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Fejl i script (Parse Error)
Fra : Lasse Jensen


Dato : 12-04-05 19:49

Hej proffer.

Jeg har denne linie:

$foresp = mysql_query("SELECT * FROM Total_unik_count WHERE dato
= {date("$dato $maaned $check_dato")}");

som giver denne fejl:

Parse error: parse error, unexpected T_VARIABLE in
/var/www/hotels/.dk/webweaver/html/statistik2.php on line 42

Håber lige der er en som kan sige mig hvor fejlen ligger i
linien. Jeg har self. defineret variblernes værdi længere oppe i
koden. Ved ikke om I har brug for at se dem?

På forhånd tak

Mvh. Lasse Jensen


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Bertel Lund Hansen (12-04-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 12-04-05 19:55

Lasse Jensen skrev:

>Jeg har denne linie:

>$foresp = mysql_query("SELECT * FROM Total_unik_count WHERE dato
>= {date("$dato $maaned $check_dato")}");

Linjen har indlejrede anførselstegn. Det skal man altid passe på
med. Prøv:

$foresp = mysql_query("SELECT * FROM Total_unik_count WHERE dato
= {date(".$dato $maaned." ".$check_dato.")}");

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Lasse Jensen (12-04-2005)
Kommentar
Fra : Lasse Jensen


Dato : 12-04-05 22:04

Bertel Lund Hansen wrote in
dk.edb.internet.webdesign.serverside.php:
>
> Linjen har indlejrede anførselstegn. Det skal man altid passe på
> med. Prøv:
>
> $foresp = mysql_query("SELECT * FROM Total_unik_count WHERE dato
> = {date(".$dato $maaned." ".$check_dato.")}");

Hej Bertel.

Det virker desværre ikke. Den samme fejl opstår. Men når jeg så fx
prøver at skrive de originale "date navne" i stedet for at angive
dem i variabler, så får jeg en anden fejl. Altså sådan her fx:

$foresp = mysql_query("SELECT * FROM Total_unik_count WHERE dato =
{date(".F d.- Y.")}") or die(mysql_error())

Det fremkalder fejlen:

Parse error: parse error, unexpected T_STRING in
/var/www/hotels/.dk/webweaver/html/statistik2.php on line 42

Eller hvis jeg skriver det sådan her:

$foresp = mysql_query("SELECT * FROM Total_unik_count WHERE dato =
{date(".Fd.- Y.")}") or die(mysql_error());

Fremkalder det denne fejl:

Unknown column 'Fd0' in 'where clause'

Og til sidst, hvis jeg skriver sådan her:

$foresp = mysql_query("SELECT * FROM Total_unik_count WHERE dato =
{date(".F-d.- Y.")}") or die(mysql_error());

Får jeg denne 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 '00)}' at line 1

Puuha, har du nogen idé om hvor fejlen ligger?

På forhånd mange tak igen

Mvh. Lasse Jensen

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Ruben Hesselbæk (13-04-2005)
Kommentar
Fra : Ruben Hesselbæk


Dato : 13-04-05 10:07


"Lasse Jensen" <antispam@antispam.dk> wrote in message
news:425c1827$0$79461$14726298@news.sunsite.dk...
> Hej proffer.
>
> Jeg har denne linie:
>
> $foresp = mysql_query("SELECT * FROM Total_unik_count WHERE dato
> = {date("$dato $maaned $check_dato")}");
>
> som giver denne fejl:
>
> Parse error: parse error, unexpected T_VARIABLE in
> /var/www/hotels/.dk/webweaver/html/statistik2.php on line 42
>
> Håber lige der er en som kan sige mig hvor fejlen ligger i
> linien. Jeg har self. defineret variblernes værdi længere oppe i
> koden. Ved ikke om I har brug for at se dem?
>
> På forhånd tak
>
> Mvh. Lasse Jensen
>

Hej Lasse.

Uden at have testet, så prøv med
$dateformat = sprintf('%s %s %s', $dato, $maaned, $check_dato);
$query = sprintf('SELECT * FROM Total_unik_count WHERE dato>=\'%s\'',
date(dateformat));
$foresp = mysql_query($query) or die(mysql_error();

Venlig hilsen
Ruben Hesselbæk



Thomas G (13-04-2005)
Kommentar
Fra : Thomas G


Dato : 13-04-05 17:20

> Uden at have testet, så prøv med
> $dateformat = sprintf('%s %s %s', $dato, $maaned, $check_dato);
> $query = sprintf('SELECT * FROM Total_unik_count WHERE dato>=\'%s\'',
> date(dateformat));
> $foresp = mysql_query($query) or die(mysql_error();

jeg er lige med på en lytter.. gider du eventuelt at forklare hvad det er du
gør? kan ikke helt følge med..

Mvh. Thomas



Ruben Hesselbæk (14-04-2005)
Kommentar
Fra : Ruben Hesselbæk


Dato : 14-04-05 11:04


"Thomas G" <alt-mail@FJERNtunet.dk> wrote in message
news:21f74$425d477f$3e3d8f54$17648@nf4.news-service.com...
> > Uden at have testet, så prøv med
> > $dateformat = sprintf('%s %s %s', $dato, $maaned, $check_dato);
> > $query = sprintf('SELECT * FROM Total_unik_count WHERE dato>=\'%s\'',
> > date(dateformat));
> > $foresp = mysql_query($query) or die(mysql_error();
>
> jeg er lige med på en lytter.. gider du eventuelt at forklare hvad det er
du
> gør? kan ikke helt følge med..
>

--SNIP--

sprintf er en måde at få en formatteret streng tilbage på.

Det jeg tror var fejlen i det script Lasse skrev, var at der ikke var styr
på ' og ".
Det er sprintf en nem løsning på, da man bare skriver %s eller %noget andet,
og så senere bliver disse expanderet med de værdier man giver med til
funktionen.

Det kan kraftigt rekommenderes alle steder man laver queries, da de bliver
nemme og overskuelige.

Håber det var det du ville vide.

/Ruben (Nok lidt for sprintf liderlig)



Jacob Atzen (13-04-2005)
Kommentar
Fra : Jacob Atzen


Dato : 13-04-05 17:49

On 2005-04-13, Ruben Hesselbæk <Mr.Chaos@area99.dk> wrote:
> Uden at have testet, så prøv med
> $dateformat = sprintf('%s %s %s', $dato, $maaned, $check_dato);
> $query = sprintf('SELECT * FROM Total_unik_count WHERE dato>=\'%s\'',
> date(dateformat));
> $foresp = mysql_query($query) or die(mysql_error();

Mener du virkelig, at du vil kalde sprintf() 2 gange? Det ser mig lidt
skummelt ud.

--
Med venlig hilsen
- Jacob Atzen

Ruben Hesselbæk (14-04-2005)
Kommentar
Fra : Ruben Hesselbæk


Dato : 14-04-05 11:02


"Jacob Atzen" <jacob@aub.dk> wrote in message
news:slrnd5qjc6.e78.jacob@tank.aub.dk...
> On 2005-04-13, Ruben Hesselbæk <Mr.Chaos@area99.dk> wrote:
> > Uden at have testet, så prøv med
> > $dateformat = sprintf('%s %s %s', $dato, $maaned, $check_dato);
> > $query = sprintf('SELECT * FROM Total_unik_count WHERE dato>=\'%s\'',
> > date(dateformat));
> > $foresp = mysql_query($query) or die(mysql_error();
>
> Mener du virkelig, at du vil kalde sprintf() 2 gange? Det ser mig lidt
> skummelt ud.
>
--SNIP--

Det er ikke nødvendigt med sprinf 2 gange, den første linje kunne sagtens
skrives som :

$dateformat = $dato . ' ' . $maaned . ' ' . $check_dato;

/Ruben (Nok lidt for sprintf liderlig)




Lasse Jensen (14-04-2005)
Kommentar
Fra : Lasse Jensen


Dato : 14-04-05 20:52

Ruben Hesselbæk wrote in dk.edb.internet.webdesign.serverside.php:
>
> Hej Lasse.
>
> Uden at have testet, så prøv med
> $dateformat = sprintf('%s %s %s', $dato, $maaned, $check_dato);
> $query = sprintf('SELECT * FROM Total_unik_count WHERE dato>=\'%s\'',
> date(dateformat));
> $foresp = mysql_query($query) or die(mysql_error();

Jeg kigger på det og vender tilbage med respons....

Mvh. Lasse Jensen


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Lasse Jensen (15-04-2005)
Kommentar
Fra : Lasse Jensen


Dato : 15-04-05 01:49

Ruben Hesselbæk wrote in dk.edb.internet.webdesign.serverside.php:
>
> Hej Lasse.
>
> Uden at have testet, så prøv med
> $dateformat = sprintf('%s %s %s', $dato, $maaned, $check_dato);
> $query = sprintf('SELECT * FROM Total_unik_count WHERE dato>=\'%s\'',
> date(dateformat));
> $foresp = mysql_query($query) or die(mysql_error();

Hej Ruben.

Tak for din kode. Nu har jeg endelig fået det til at virke Din kode
var næsten korrekt, jeg måtte dog ændre en smule i den. Så nu ser den ud
som den skal for det virker:

$dateformat = sprintf('%s', $dato);            
               $query = sprintf('SELECT * FROM Total_unik_count WHERE
dato>=\'%s\'', $dateformat);
               $foresp = mysql_query($query) or die(mysql_error());

Det er jo næsten ingenting der er rettet. Nu er jeg bare glad for det
virker :D

Mange tak!

Mvh. Lasse Jensen



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jacob Atzen (13-04-2005)
Kommentar
Fra : Jacob Atzen


Dato : 13-04-05 17:50

On 2005-04-12, Lasse Jensen <antispam@antispam.dk> wrote:
> Jeg har denne linie:
>
> $foresp = mysql_query("SELECT * FROM Total_unik_count WHERE dato
>= {date("$dato $maaned $check_dato")}");

Kan du forklare med ord, hvad det er du prøver at gøre her? Hvilke
værdier forventer du at $dato, $maaned og $check_dato har?

--
Med venlig hilsen
- Jacob Atzen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste