【问题标题】:special characters error in sql when submitting summernote form提交summernote表单时sql中的特殊字符错误
【发布时间】:2015-07-01 21:16:02
【问题描述】:

我正在尝试在我的表单中实现 Summernote 所见即所得编辑器,当我提交表单以写入 mssql 表时,它接受大多数特殊字符 ($%! etc) 甚至双引号很好,但是当我尝试使用单引号时,我得到一个 sql 错误。你能帮我解决我错过的问题吗?

第一行实现插件

 <textarea name="majorupdate" id="summernote" rows="10" class="form-control"></textarea>

在将其发布到使用以下值的第二个页面时(删除了一些不相关的条目以使其简单)

$majorupdateX = $_POST['majorupdate'];

$query = mssql_query("INSERT INTO PRJ_Update1 (update1) VALUES ('$majorupdateX') ");

从sql表中回调entry时,页面上显示是这样的

echo                '<p>'.$row[update1].'</p>'; 

我怀疑我需要以某种方式替换转义 html 等效项的特殊字符?不知道如何最好地做到这一点,作为新手,我曾希望 Summernote 文本编辑器能够解决这个问题。我尝试在 POST 值上使用 htmlspecialchars() 函数,但没有成功。可能是我没有正确使用它。

错误

Warning: mssql_query() [function.mssql-query]: message: Line 1: Incorrect syntax near 's'. (severity 15) in C:\WPServer\Web\dev\Rehan\ProjectTracker\PR_projectUpdates1_formpost.php on line 47

Warning: mssql_query() [function.mssql-query]: message: Unclosed quotation mark before the character string ') '. (severity 15) in C:\WPServer\Web\dev\Rehan\ProjectTracker\PR_projectUpdates1_formpost.php on line 47

【问题讨论】:

  • “当我尝试使用单引号时,我得到一个 sql 错误回来” - 是吗?分享。如果我们不知道错误是什么,我们将无能为力。
  • - 转义/清理您的数据
  • 根据您的编辑,请参阅评论 #2 ;-) 咨询 stackoverflow.com/q/60174 或使用准备好的语句。
  • 除了在安全性(SQL 注入)方面要好得多之外,使用准备好的语句无论如何都会转义所有数据。此外,我强烈建议您转到 Microsoft PHP Drivers for SQL Server:microsoft.com/en-gb/download/details.aspx?id=20098,因为这将允许参数化查询。然后在此处查看 BOL:php.net/manual/en/book.sqlsrv.php。 @Fred-ii- 你不能来这里!你是罗慕兰人! ;)
  • 尝试使用这里建议的参数化查询; stackoverflow.com/questions/15840642/…

标签: php sql-server wysiwyg summernote


【解决方案1】:

使用这个

ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

【讨论】:

  • 谢谢。你能给我一些关于如何使用和它在做什么的更多信息吗?
猜你喜欢
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-14
  • 1970-01-01
  • 2016-03-10
相关资源
最近更新 更多