Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 由于撇号而添加斜杠时是否查找行?_Php_Mysql - Fatal编程技术网

Php 由于撇号而添加斜杠时是否查找行?

Php 由于撇号而添加斜杠时是否查找行?,php,mysql,Php,Mysql,我试图使用以下查询从MySQL表中提取信息: $skill = mysql_real_escape_string($row['skill']); $sql = "select * from table where column = '" . $skill . "' 但是,它找不到它,因为它添加了斜杠。在mysql_real_escape_string处理它之前,最初的技巧是:诸如此类诸如此类 下面是通过mysql\u real\u escape\u字符串后的结果: Blah blah blah

我试图使用以下查询从MySQL表中提取信息:

$skill = mysql_real_escape_string($row['skill']);
$sql = "select * from table where column = '" . $skill . "'
但是,它找不到它,因为它添加了斜杠。在mysql_real_escape_string处理它之前,最初的技巧是:诸如此类诸如此类

下面是通过mysql\u real\u escape\u字符串后的结果:

Blah blah blah blah blah blah \'
我的SQL查询找不到特定的行,当它看起来是这样的时候。有没有办法让MySQL继续查找撇号

谢谢

使用以下命令:

if (get_magic_quotes_gpc()) {
    $skill = stripslashes($row['skill']);
    $skill = mysql_real_escape_string($skill);
} else {
    $skill = mysql_real_escape_string($row['skill']);
}

$sql = 'select * from table where column = "' . $skill . '"';
编辑:对不起,我刚刚意识到$row['skill']可能不是来自GET/POST/COOKIE,因此GET\u magic\u quotes\u gpc可能与此无关。直走到条纹斜线:

但是,它找不到它,因为它添加了斜杠

这是错误的假设

因为别的原因,它找不到它

下面是通过mysql\u real\u escape\u字符串后的结果: 废话废话废话废话

没关系,绳子和它应该的一模一样

我的SQL查询找不到特定的行,当它看起来是这样的时候


您的代码或数据有问题。提供完整且可复制的代码和数据,以便我们能够帮助您发现其中的错误

额外的反斜杠将被SQL解析器删除,因此它应该按照预期工作。您确定该行存在吗?也许后面有空格?谢谢你的回复。我认为这可能与SQL查询被单引号包围的事实有关。这是查询的结果:select*from table where column='blah blah blah blah blah\由于插入查询中的转义错误,数据库中的行可能有real\在其中。直接从数据库中,该行是:blah blah blah blah blah blah blah blah blah'嗯,这似乎仍然不起作用。这是该技能的输出:诸如此类诸如此类
 $skill = stripslashes($row['skill']);
 $skill = mysql_real_escape_string($skill);
 $skill = mysql_real_escape_string($row['skill']);