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? Quote 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 (edited) 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 Edited April 2, 2013 by nbst Quote Link to comment https://forums.phpfreaks.com/topic/276407-syntax-error/#findComment-1422386 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.