Jump to content

Syntax Error


ihatesyntax

Recommended Posts

Can someone please help me with the required syntax for the following query in MySQL

 

$monthQuery = "SELECT * FROM calendar WHERE mywhen >= CURDATE() AND YEAR(mywhen) = date('Y', strtotime($mywhen)) GROUP BY MONTH(mywhen) ORDER BY mywhen";

It's clearly to do with the date variable got YEAR(mywhen) but I can't get the combination right for a double-quoted statement, although it will work with single-quotes:

 

$monthQuery = 'SELECT * FROM calendar WHERE mywhen >= CURDATE() AND YEAR(mywhen) = "' . date("Y", strtotime($mywhen)) . '" GROUP BY MONTH(mywhen) ORDER BY mywhen';

It just seems dreadfully ugly...

 

Help?

Link to comment
https://forums.phpfreaks.com/topic/276407-syntax-error/
Share on other sites

You are trying to execute a function in the middle of a string, so it simply makes sense semantics-wise to separate them.  However, you could of course do this:

 

$date = date("Y", strtotime($mywhen));
$monthQuery = "SELECT * FROM calendar WHERE mywhen >= CURDATE() AND YEAR(mywhen) = '$date' GROUP BY MONTH(mywhen) ORDER BY mywhen";

nbst

Link to comment
https://forums.phpfreaks.com/topic/276407-syntax-error/#findComment-1422386
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.