Если added_date
- это столбец, вы должны внимательно следить за используемыми кавычками. В MySQL столбцы разделяются обратными метками, но это необходимо, только если они конфликтуют с какими-либо зарезервированными ключевыми словами .
Другая проблема заключается в использовании как двойных кавычек для определения строки, так и внутри строки. Если вы сделаете это, вы должны избежать внутренних, как это:
$query = $this->db->query("SELECT DATE_FORMAT(added_date, \"%M\") AS Month, SUM(total) FROM tbl_order GROUP BY Month");
Если у вас есть текстовый редактор с подсветкой синтаксиса, что очень важно в наши дни, вы увидите, как подсветка строк немедленно останавливается на том, что воспринимается как заключительная цитата в исходном коде. Это предупреждение, что у вас есть синтаксическая ошибка.
Другое исправление заключается в использовании двух разных типов цитат. Режим MySQL по умолчанию допускает двойные или одинарные кавычки для строковых значений:
$query = $this->db->query('SELECT DATE_FORMAT(added_date, "%M") AS Month, SUM(total) FROM tbl_order GROUP BY Month');
На практике обычно лучше использовать строки в одинарных кавычках для запросов по единственной причине предотвращения случайного внедрения SQL: $
переменные типа не интерполируются в режиме одинарных кавычек.