Just a correction, dates in mysql are not strings by any means, they are stored in 3 bytes (date and time or 8 bytes for datetime) and that's nowhere enough for a string, however the representation of the date is a formatted string, so for all intents and purposes any comparison to a date field should be using quotes like mentioned already. -- Sent from my Android phone with K-9 Mail. Please excuse my brevity.
Nathan Rixham <nrix...@gmail.com> wrote: Richard Quadling wrote: > On 3 March 2011 10:09, Webforlaget.dk <i...@web-forlaget.dk> wrote: >> I need help to know Why this dont work ? >> >>_____________________________________________ >> >> $thisdate =date("Y-m-d",mktime(0,0,0,$mth, $day, $year)); >> >> $sql = >> >> "SELECT id,case,startdate,enddate FROM table WHERE startdate<=$thisdate >> >> AND enddate>=$thisdate ORDER BY startdate"; >> >> >> >>_____________________________________________ >> >> The result should be an array whith open cases at $thisdate, but nothing >> >> appear. >> >> Is it something about dates in mysql ? >> >> Thanks for any >> >> advice. >> >> Best regards, >> >> Venlige hilsner >> >> Rolf Brejner > > >> >> I think that dates in SQL statements need to be in the quotes as they > >> >> are strings and not integers. > > So, try ... > > $sql = "SELECT >> >> id,case,startdate,enddate FROM table WHERE > startdate<='$thisdate' AND >> >> enddate>='$thisdate' ORDER BY startdate"; > > I'm surprised you don't get >> >> an error.... > > Ah. As it stands, the SQL is something like ... > > >> >> WHERE startdate <= 2010 - 3 - 3 > > So, probably the actual test that is >> >> being executed is .... > > WHERE startdate <= 2004 > > Which, for a date >> >> stamp will never return anything sensible. yes, and remember the DATE and >> >> FROM_UNIXTIME mysql functions too. -- PHP General Mailing List >> >> (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php