ЗАКАЗАТЬ ПО DESC с КУРДАТОЙ (); заявление не работает в PHP MySQL

$stmt = $db->query('SELECT postID, postTitle, postDate, postStatus, date_accepted FROM blog_posts WHERE postStatus = "pending" AND DATE(`postDate`) = CURDATE(); ORDER BY postDate DESC');

У меня есть простой оператор SQL, который отображает ожидающие записи и упорядочивает их по DESC, но он не будет работать. Однако, если я удаляю «И ДАТА (postDate) = CURDATE (); «утверждение, что DESC будет работать.

пожалуйста помоги!

1

Решение

не должно быть ; с CURDATE(),

$stmt = $db->query('SELECT postID, postTitle, postDate, postStatus, date_accepted FROM blog_posts WHERE postStatus = "pending" AND DATE(`postDate`) = CURDATE() ORDER BY postDate DESC');
2

Другие решения

удалить точку с запятой после CURDATE()точка с запятой — это конец запроса.

$stmt = $db->query('SELECT postID, postTitle, postDate, postStatus, date_accepted
FROM blog_posts WHERE postStatus = "pending"AND DATE(`postDate`) = CURDATE()
ORDER BY postDate DESC');
1

Нежелательная точка с запятой:

$stmt = $db->query('SELECT postID, postTitle, postDate, postStatus, date_accepted FROM blog_posts WHERE postStatus = "pending" AND DATE(`postDate`) = CURDATE(); ORDER BY postDate DESC');
// ^
0

удалить точку с запятой из CURDATE ();

$stmt = $db->query('SELECT postID, postTitle, postDate, postStatus, date_accepted FROM blog_posts WHERE postStatus = "pending" AND DATE(`postDate`) = CURDATE() ORDER BY postDate DESC');

или вы также можете использовать date() за это

$stmt = $db->query('SELECT postID, postTitle, postDate, postStatus, date_accepted FROM blog_posts WHERE postStatus = "pending" AND DATE(`postDate`) = "'.date('Y-m-d').'" ORDER BY postDate DESC');
0
По вопросам рекламы [email protected]