如何将HTML代码从编辑器插入MySQL数据库?

| 我有一个html编辑器,我试图将它生成的html插入数据库中,然后在SQL表所在的另一页中检索它。我在ASP 3.5中使用带有一个文本字段的表。这是代码:
MySqlConnection con = new MySqlConnection(@\"Connection String  \");//I\'ve tested the connection string and its working fine

MySqlCommand cmd = new MySqlCommand(\"INSERT INTO ins (tes) VALUES (\'\" + Editor1.Content + \"\')\", con);

con.Open();
cmd.ExecuteNonQuery();
con.Close();
这是我得到的错误: 您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在\'font-size:18pt;附近使用正确的语法。线高:115%;字体系列:\“ arial \”,\“ sans-serif \”; \'>随便什么\'在第1行 如何才能做到这一点?提前致谢。
已邀请:
这样您就可以进行大量的SQL注入。来自用户的数据应在进入数据库之前进行检查和清理。 此外,使用ASP.NET您需要从回发中删除所有HTML标记,因为该框架会检查是否存在来自浏览器的HTML注入。 删除标签(或用诸如“ 2”之类的替代“ 1”)并转换回服务器后,您可以使用以下方法:
MySqlCommand cmd = new MySqlCommand(\"INSERT INTO ins (tes) VALUES (\'\" + Editor1.Content.Replace(\"\'\", \"\'\'\") + \"\')\", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
尽管您应该进行参数化查询。
我认为您应该改用参数化查询,并且永远不要信任用户数据输入。请输入
tes
的类型是什么,您能否弄清错误或异常是什么?
这样的事情可能会起作用:
MySqlCommand cmd = new MySqlCommand(\"INSERT INTO ins (tes) VALUES (@text)\", con);

cmd.Parameters.Add(\"@text\", SqlDbType.Text);
cmd.Parameters[\"@text\"].Value = txtTextField.Text;

con.Open();
cmd.ExecuteNonQuery();
con.Close();

要回复问题请先登录注册