Avatar billede rthuls Nybegynder
08. november 2004 - 09:59 Der er 17 kommentarer og
1 løsning

problemer med MySQL DAY

Hvorfor får jeg en fejl, når jeg prøver at benytte MySQL's DAY funktion?

Min sql-sætning ser sådan her ud:
$DB->Query("SELECT news.title AS title,DAY(news.date) AS dag, news.niceurl AS niceurl,categories.category AS category FROM news,categories WHERE news.visible='1' AND categories.cat_id=news.cat_id AND MONTH(news.date)='$when' ORDER BY news.date $order");

Hvis jeg udskifter:
DAY(news.date) AS dag
med:
MONTH(news.date) AS dag
virker det fint.
Avatar billede morteeart Nybegynder
08. november 2004 - 10:09 #1
hvad siger fejlen ?

(og der er faktisk en mysql kategori her på e*)
Avatar billede rthuls Nybegynder
08. november 2004 - 10:23 #2
Undskyld med kategorien. Jeg havde faktisk slet ikke tænkt på at det var et rent sql spørgsmål...

Fejlen siger:
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 '(news.date) AS dag,MONTH(news.date) AS month,YEAR(news.date) AS

Hvis jeg udskriver sql'en ser det sådan her ud:
SELECT news.title AS title,DAY(news.date) AS dag, news.niceurl AS niceurl,categories.category AS category FROM news,categories WHERE news.visible='1' AND categories.cat_id=news.cat_id AND MONTH(news.date)='11' ORDER BY news.date DESC
Avatar billede nikolajdu Nybegynder
08. november 2004 - 10:27 #3
mon ikke det er fordi du kalder din dato for date?
Avatar billede rthuls Nybegynder
08. november 2004 - 10:33 #4
Men det virker jo med MONTH(news.date) og YEAR(news.date) ?
Avatar billede nikolajdu Nybegynder
08. november 2004 - 10:36 #5
jo men mon ikke date er et reserveret ord - prøv lige at kalde feltet noget andet - bare for min skyld skatter ;-)
Avatar billede nikolajdu Nybegynder
08. november 2004 - 10:45 #6
Det er ikke reserveret!

Ifølge mysql har de tilladt date, da mange allerede bruger det. Sjov strategi ;-)

nederst her : http://dev.mysql.com/doc/mysql/en/Reserved_words.html
Avatar billede rthuls Nybegynder
08. november 2004 - 10:46 #7
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 '(news.nikolajduerenskatterbasse) AS dag

:)
Avatar billede nikolajdu Nybegynder
08. november 2004 - 10:47 #8
hvilen felttype er date? (date?)
Avatar billede rthuls Nybegynder
08. november 2004 - 10:48 #9
datetime
Avatar billede nikolajdu Nybegynder
08. november 2004 - 10:48 #10
lol tak honey.

Nu bliver jeg altså lige forvirret. Her står det ER reserveret : http://dev.mysql.com/doc/mysql/en/News-3.21.23.html - The following symbols are now reserved words: TIME, DATE, TIMESTAMP, TEXT, BIT, ENUM, NO, ACTION, CHECK, YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, STATUS, VARIABLES.
Avatar billede nikolajdu Nybegynder
08. november 2004 - 10:52 #11
$DB->Query("SELECT n.title AS title,DAY(n.date) AS dag, n.niceurl AS niceurl,c.category FROM news AS n,categories AS c WHERE n.visible='1' AND c.cat_id=news.cat_id AND MONTH(n.date)='$when' ORDER BY n.date $order");
Avatar billede nikolajdu Nybegynder
08. november 2004 - 11:06 #12
ups.

$DB->Query("SELECT n.title AS title,DAY(n.date) AS dag, n.niceurl AS niceurl,c.category FROM news AS n,categories AS c WHERE n.visible='1' AND c.cat_id=n.cat_id AND MONTH(n.date)='$when' ORDER BY n.date $order");

Hvilken version af mysql kører du?
Avatar billede nikolajdu Nybegynder
08. november 2004 - 11:10 #13
DAY(date)

DAY() is a synonym for DAYOFMONTH(). It is available as of MySQL 4.1.1.
Avatar billede nikolajdu Nybegynder
08. november 2004 - 11:11 #14
Du skal altså bruge DAYOFMONTH() hvis du kører mindre end mysql 4.1.1.1
Avatar billede rthuls Nybegynder
08. november 2004 - 11:15 #15
Ahhhh DAYOFMONTH - der var den sq :)

Takker mange gange! Lægger du lige et svar?
Avatar billede nikolajdu Nybegynder
08. november 2004 - 11:17 #16
Jepski det var dejligt at få det løst kunne heller ikke selv forstå det :))
Avatar billede rthuls Nybegynder
08. november 2004 - 11:20 #17
Nej, jeg var også godt og grundigt forvirret.
Avatar billede nikolajdu Nybegynder
08. november 2004 - 11:21 #18
tak 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