首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在数据库中插入包含引号的字符串?

如何在数据库中插入包含引号的字符串?
EN

Stack Overflow用户
提问于 2010-06-26 10:27:17
回答 2查看 4.1K关注 0票数 5

当我尝试安装一个包含引号的字符串时,插入查询失败。如何插入带单引号或双引号的字符串?

例如:

代码语言:javascript
复制
$message = "Bob said 'don't forget to call me'";

mysql_query("INSERT INTO someTable (messages) VALUES ('$message')");

我认为输入需要过滤,但是我应该使用哪个函数呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-26 10:30:17

代码语言:javascript
复制
$message = mysql_real_escape_string($message);

此函数应应用于您要插入到带引号的查询中的每个变量。没有例外。

它并不是针对с注入的真正保护,而仅仅是一条语法规则。

不过,你也需要一个真正的保护。我已经在最近的回答中详细解释过了:In PHP when submitting strings to the database should I take care of illegal characters using htmlspecialchars() or use a regular expression?

票数 5
EN

Stack Overflow用户

发布于 2010-06-26 11:47:52

一整个小时的问题,没有人提到转义字符串是邪恶的,你应该use prepared statements instead?相当有效的方法来消除SQL injection

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3122477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档