Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MYSQL结果中的三斜杠_Php_Mysql - Fatal编程技术网

PHP MYSQL结果中的三斜杠

PHP MYSQL结果中的三斜杠,php,mysql,Php,Mysql,我使用了mysql\u real\u escape\u string将信息输入数据库,但是当我在查询中返回信息时,我在文本中得到了\\\'。我这样做是为了在保存时插入查询不再停留在语句中的”。如果一篇文章的标题中有撇号,它会在中途停止保存标题。这个问题已经解决了,但是现在我得到了一个撇号 示例:Microsoft\\\\\\\$15的Windows 8升级优惠将于6月2日至1月31日推出,其中包括免费研讨会 我从数据库返回列表的查询代码如下所示:(注意,这是一个摘录,因此不包含此循环的结束) 不

我使用了
mysql\u real\u escape\u string
将信息输入数据库,但是当我在查询中返回信息时,我在文本中得到了
\\\'
。我这样做是为了在保存时插入查询不再停留在语句中的
。如果一篇文章的标题中有撇号,它会在中途停止保存标题。这个问题已经解决了,但是现在我得到了一个撇号

示例:
Microsoft\\\\\\\$15的Windows 8升级优惠将于6月2日至1月31日推出,其中包括免费研讨会

我从数据库返回列表的查询代码如下所示:(注意,这是一个摘录,因此不包含此循环的结束)

不要与此一起使用,只需使用


要使用数据库中当前的数据,请对返回的数据使用两次


但是,最好更正数据库中的内容,并更改
插入
脚本,以便将来不再插入损坏的数据(可能涉及删除对或的调用)。

首先,如果您可以阅读签出页面,我会要求您的web主机禁用magic quotes警告:此功能已在PHP5.3.0之前被弃用,并从PHP5.4.0开始删除

您不能在运行时禁用它,因此您的主机必须在php配置中进行更改。 如果您的主机拒绝禁用magic quotes,您可以创建一个php函数,例如“secVar()”,您可以在每个mysql查询中使用它,而不是使用“mysql\u real\u escape\u string”

那么您的函数“secVar”将是:

如果在web主机上激活了“神奇报价”:

function secVar($var){
    return $var;
}
function secVar($var){
    return mysql_real_escape_string($var)
}
如果在web主机上禁用了“魔力报价”:

function secVar($var){
    return $var;
}
function secVar($var){
    return mysql_real_escape_string($var)
}
通过这种方式,您可以在Web主机禁用magic quotes或更改主机时快速更新脚本以保护变量

您也可以用另一种方式解决问题: 在脚本执行之前,在运行时“放置”魔术引号。通过内存,“魔术引号”放置在以下变量数组中:$\u请求、$\u发布、$\u获取、$\u文件,以及其他可能的变量。 知道你可以 1.检查是否启用了魔术引号 2.如果是这样的话,从每个数组中去掉所有受魔法引号影响的变量的斜杠

一个或另一个解决方案应该适合你


玩得开心!

展示如何插入database@TheTechBox:其他可能的转义字符组合如何?最好按照中的建议使用。