Syntax Problem (Was : Date problem)
am 21.01.2007 19:15:33 von Neil SmthAt 16:26 21/01/2007, you wrote:
>I have a date field in mysql called event_end .
>
>I want to run a query to find all records where the event_and is greater
>than today's date. I have written the following code. It does not work.
>Please point out the mistake.
>
>$today = getdate();
> $sql="select * from events where event_end>'.$today.' order by event_start
>Asc ";
Because PHP allows you to quote variables inside strings surrounded
by " " characters, your string $sql passed to the database will
actually be as follows
select * from events where event_end>'.array.' order by event_start
which you would have seen if you had used print($sql) to debug this.
The reason if prints "array" is because - well getdate() returns an
array, which you would have seen if you'd RTFM : array getdate ( [int
timestamp] ).
And there are dots surrounding the word `array` because - well, you
put them there and used single quotes to ensure they were output
literally in the string, rather than closing the string using a
matching double quote character then re-opening it with another
double quote character after the $today variable.
Probably I would use the date() function to generate that date as a
*string*, and make sure I quoted that string correctly when making
the $sql string, eg like
$today = date('Y/m/d');
$sql = "SELECT * FROM events WHERE event_end> '".$today."' ORDER BY
event_start ASC";
Cheers - Neil
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php