Как сохранить форматированный текст с тегами HTML в базе данных, а затем отобразить его?

Я использую фреймворк Laravel, и в моей форме есть редактор WYSIWYG.

Input::get('wysivyg') 

Возвращает вывод HTML, например:

<p><strong>dsdsdd</strong></p> <p><em>dsdsd</em></p> <p>&nbsp;</p>

Итак, я получаю эту ошибку:

SQLSTATE[42000]: Syntax error or access violation: 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 'range, investor, designer, contractor, area, date) VALUES (?, ?, ?, ?, ?, ?, ?, ' at line 1 (SQL: INSERT INTO projects (name, city, category, text, range, investor, designer, contractor, area, date) VALUES (sssa, sasas, garden, <p><strong>dsdsdd</strong></p> <p><em>dsdsd</em></p> <p>&nbsp;</p> , , , sasaasas, , , ))

Это строка, которая возвращает ошибку:

DB::insert('INSERT INTO projects (name, city, category, text, range, investor, designer, contractor, area, date) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', 
    array(Input::get('name'), Input::get('city'), Input::get('category'), Input::get('wysiwyg'), Input::get('range'), Input::get('investor'), Input::get('designer'),
          Input::get('contractor'), Input::get('area'), Input::get('date')));

Как я могу сохранить форматированный текст в базе данных?


person Tomas Turan    schedule 02.12.2014    source источник


Ответы (1)


Ошибка не имеет ничего общего с HTML.

text, range и date являются зарезервированными словами в SQL. Вы не можете использовать их в качестве имен столбцов в запросе, если не окружите их обратными кавычками.

person Quentin    schedule 02.12.2014