如何将带HTML标签的格式化文本存储到数据库中,然后显示它?

如何将带HTML标签的格式化文本存储到数据库中,然后显示它?

问题描述:

我使用的是Laravel框架,我的表单中有一个所见即所得的编辑器。如何将带HTML标签的格式化文本存储到数据库中,然后显示它?

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'))); 

如何存储格式化文本t数据库?

该错误与HTML无关。

text,rangedate是SQL中的reserved words。除非用反引号包围它们,否则不能将它们用作查询中的列名称。