首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP、mysql_real_escape_string和MySQL查询

问PHP、mysql_real_escape_string和MySQL查询
EN

Stack Overflow用户
提问于 2012-04-17 20:02:43
回答 4查看 2.4K关注 0票数 0

我得到了一个类似于此的查询错误,但我还没有发现问题:

代码语言:javascript
复制
$str = "rob's";
...
$query ="INSERT INTO tableName (name) VALUES (mysql_real_escape_string('$str')";

编辑:

我很抱歉。我在减少代码时犯了一个错误;这更接近于我的错误:

代码语言:javascript
复制
$str = "rob's";
...
$query ="INSERT INTO tableName (name) VALUES (('".mysql_real_escape_string($str)."')";
EN

回答 4

Stack Overflow用户

发布于 2012-04-17 20:03:42

mysql_real_escape_string()是PHP,而不是MySQL。你得把它从引号里拿出来

代码语言:javascript
复制
$query ="INSERT INTO tableName (name) VALUES ('".mysql_real_escape_string($str)."')";

另外,$str是一个字符串,所以在MySQL中,它也需要被qoutes包围,我添加了它们。您已经准备好了,但是由于函数需要从引号中取出来,所以必须将其移除。

票数 4
EN

Stack Overflow用户

发布于 2012-04-17 20:04:09

代码语言:javascript
复制
$query ="INSERT INTO tableName (name) VALUES ('" . mysql_real_escape_string($str) . "'";
票数 1
EN

Stack Overflow用户

发布于 2012-04-17 20:05:13

mysql_real_escape_string()是一个PHP函数。因此,在MySQL查询字符串中,您必须像变量一样传递它:

代码语言:javascript
复制
$query ="INSERT INTO tableName (name) VALUES ('" . mysql_real_escape_string($str) . "')";

在这里阅读更多信息:http://php.net/manual/en/function.mysql-real-escape-string.php

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

https://stackoverflow.com/questions/10198290

复制
相关文章

相似问题

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