MySQL LONGTEXT 不接受撇号 '

标签 mysql

我正在为我的大学构建一个带有发布消息选项的门户。因此,我使用 LONGTEXT 将消息存储在 mysql 中。但不知何故 LONGTEXT 不接受撇号标记。 每当我发布带有撇号标记的句子时,它都会出现以下错误:

"Error: 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 's open singles
 tournament, will Electrical be able to maintain their dominance o' at line 1"

PS:不在转义字符串中,而是在<textarea>中,如果我输入撇号,它会给出错误!

最佳答案

用反斜杠转义

SELECT 'This is a escape \' quote test';

编辑

如果您直接从 Web 表单获取信息并将其插入数据库 - 这是一个巨大的安全风险。 SQL 注入(inject)就是这样完成的。

关于MySQL LONGTEXT 不接受撇号 ',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8844250/

相关文章:

mysql - 数据库名称中带有连字符的命令行 MySQL 转储

mysql - Gem::LoadError: 添加 `gem ' mysql'` 到你的 Gemfile

返回语法错误的 PHP SQL 插入语句,不确定它可能是什么

mysql - 如果特定表上存在缺失行,如何处理 SQL 连接

mysql - 根据输入选择列

php - 跳出内循环并继续外循环

java - 如何在我的 GWT 小工具中使用本地 MySQL 服务器?

java - jpa 合并非托管实体

php - 小型应用程序的 Mysql 缩放

java - 如何在 Play JPA 中保存对象列表