2015-02-25 2 views
0

Im пытается добавить столбцы в таблицу, используя для цикла в PHP, где каждое имя столбца является значением из массиваSQL Добавить имя столбца ключевое слово

for($i=0; $i<count($column); $i++){ 
    query("ALTER TABLE table1 ADD COLUMN ".$column[$i]." int(3) DEFAULT 0"); 
} 

Это работает для всех имен столбцов, но когда приходит к названию столбца «For». Я получаю эту ошибку.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax near 'For int(3) DEFAULT 0' 

Im предполагая, что ошибка происходит потому, что имя столбца является ключевым словом, как ал другие значения в массиве $ колонок работают нормально.

Любые предложения, как я могу добавить имя столбца «Для» или любое другое ключевое слово SQL в таблице? Любая обратная связь приветствуется. Спасибо заранее.

+3

'FOR' это зарезервированное слово. Используйте обратные ссылки или измените имя. Список зарезервированных слов находится здесь: http://dev.mysql.com/doc/refman/5.7/ru/reserved-words.html. –

+1

И как выглядит итоговый оператор SQL? – jarlh

+0

Используйте подготовленные заявления. – Jens

ответ

0

Ответил @GordonLinoff

Измененный запрос, добавив кавычку вокруг имени столбца

query("ALTER TABLE table1 ADD COLUMN `".$column[$i]."` int(3) DEFAULT 0"); 
Смежные вопросы