2016-01-19 2 views
1

У меня есть заявление INSERT,CURDATE дает ошибку

$stmt = $mysqli->prepare("INSERT INTO numbertable (numbers, numdate, salesperson, color) VALUES (?, NOW(), ?, ?)"); 

Моя ЗЕЬЕСТ выглядит следующим образом:

$result = $mysqli->query("SELECT COUNT FROM numbertable WHERE DATE(numdate) == CURDATE()"); 

Когда я запускаю мое отборное заявление, я получаю следующее сообщение об ошибке. Кто-нибудь знает, что это может быть?

SELECT COUNT FROM numbertable WHERE DATE(numdate) == CURDATE() 
LIMIT 0, 30 
MySQL said: Documentation 

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== CURDATE() 
LIMIT 0, 30' at line 1 
+0

'WHERE DATE (numdate) = CURDATE()'. SQL не имеет оператора '=='. –

ответ

1

в MySql вам нужно =, как знак равенства, а не ==. должно быть:

SELECT COUNT FROM numbertable WHERE DATE(numdate) = CURDATE() 
+0

Большое спасибо, что решила проблему. Я немного смущен, потому что, когда я запускаю свой код в PhpMyAdmin, я возвращаюсь, что сегодня было 6 затронутых строк, что верно. Когда я запускаю свой код в своем запросе phppage, я получаю, что есть 507 строк (это все мои строки в моей базе данных) – McDuck4

+0

Это тот же самый запрос: SELECT * FROM numbertable WHERE DATE (numdate) = CURDATE() Когда я использую: SELECT COUNT FROM numbertable WHERE DATE (numdate) = CURDATE() Я получаю ошибку: Фатальная ошибка: Вызов функции члена fetch_row() на логическое значение: Могли бы вы иметь представление о том, что это может быть? – McDuck4

+0

подсчитывает колонку в таблице? это зарезервированное слово, вы должны использовать select \ 'count \', если это так. –