Vinnaren i pepparkakshustävlingen!
2011-09-07, 15:43
  #1
Medlem
SuperChihuahuas avatar
Jag tänkte hämta från min databas artiklar med en viss ålder. När jag skriver så här:

Kod:
date > '2011-09-05'

så fungerar det utmärkt - men man vill ju inte sitta och ändra den parameterna varje dag så då tänkte jag ändra utanför MySQL-koden istället (i PHP) Dock blir det fel när man skriver:

Kod:
$currentdate = '2011-09-05';
och sedan i mysql_query

Kod:
date > $currentdate

Några idéer var det blir fel?
Citera
2011-09-07, 16:09
  #2
Medlem
För enkel hantering av datum föreslår jag att du använder dig av Unix time och inte en strängbaserad lösning. Sparar du allt i det basformat som majoriteten av tidsfunktioner använder som inparameter blir framtida ändringar betydligt enklare.
Citera
2011-09-07, 16:26
  #3
Medlem
SuperChihuahuas avatar
Du hade rätt det fungerade bättre!
Citera
2011-09-07, 16:41
  #4
Medlem
gadzooxs avatar
Citat:
Ursprungligen postat av SuperChihuahua
Du hade rätt det fungerade bättre!
Bra att det löste sig. Kan du dock passa på att nämna vad som blev fel i din query:

Du saknar fnuttar runt strängen i queryn, den färdigbyggda SQL-queryn kommer enligt ditt exempel att bli:
Kod:
SELECT * FROM ... WHERE date > 2011-09-05
Syntaxfel alltså.

Lösningen hade varit att helt enkelt sätta fnuttar runt variabeln:
Kod:
$currentdate '2011-09-05';
$query "SELECT * FROM ... WHERE date > '$currentdate' "
vilket ju ger resultatet
Kod:
SELECT * FROM ... WHERE date > '2011-09-05'
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback