ihatesyntax Posted April 2, 2013 Share Posted April 2, 2013 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 More sharing options...
nbst Posted April 2, 2013 Share Posted April 2, 2013 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.