2013-10-07 4 views
0

У меня есть запрос в MySQL, который отлично работает, однако, когда я копирую запрос в свой PHP-файл, он бросает мне синтаксическую ошибку: ** неожиданно ") как week_ending ** что я отсутствуетОшибка синтаксиса MySQL в PHP-скрипте

MySQL:

'SELECT COUNT(*) as count , region , DATE_FORMAT(NOW(),'%d %b %y') as week_ending FROM stores.stats WHERE date > DATE_ADD(DATE(NOW()), INTERVAL -1 WEEK) AND date < DATE(NOW()) GROUP BY region , DATE(NOW())';

PHP:

$stmt = DB::query(Database::SELECT, 'SELECT COUNT(*) as count , region , DATE_FORMAT(NOW(),'%d %b %y'), as week_ending FROM stores.stats WHERE date > DATE_ADD(DATE(NOW()), INTERVAL -1 WEEK) AND date < DATE(NOW()) GROUP BY region , DATE(NOW())';

ответ

4

Есть пара одинарные кавычки в середине вашего SQL, которые преждевременно истекающий ваш запрос Вам просто нужно бежать. кво тес рядом здесь:

DATE_FORMAT(NOW(),'%d %b %y'), 

Как это:

DATE_FORMAT(NOW(),\'%d %b %y\'), 
2

Кроме того, не избежать, содержащиеся кавычки, вы также не закрывая вызова метода.

$stmt = DB::query(
    Database::SELECT, 
    'SELECT COUNT(*) as count,region, DATE_FORMAT(NOW(),\'%d %b %y\'), as week_ending FROM stores.stats WHERE date > DATE_ADD(DATE(NOW()), INTERVAL -1 WEEK) AND date < DATE(NOW()) GROUP BY region, DATE(NOW())' 
); 
Смежные вопросы