Зарезервированные слова в качестве названия столбца

Делаю SQL запрос в базу:

$sql = 'INSERT INTO faq (name, desc, pos) VALUES ($a, $b, $c)';

Как видно из запроса, в таблице есть поле desc и в него нужно поместить текст, НО язык SQL определяет этот момент в запросе не как поле, а как команду DESC (для сортировки по убыванию). Соответственно запрос не выполняется, и у меня белый экран! Ибо если преименовать это поле к примеру в descr (и в базе соответственно) то все работает.. Но мне нужно что бы это поле называлось именно так.. Отсюда и вопрос, что мне сделать, что бы слово desc определялось как поле, а не как команда?


Ответы (1 шт):

Автор решения: Slava Rozhnev

Для обозначения полей в MySQL используются символ машинописный обратный апостроф

$sql = 'INSERT INTO `faq` (`name`, `desc`, `pos`) VALUES (?, ?, ?);';
→ Ссылка