Php 由于撇号而添加斜杠时是否查找行?
我试图使用以下查询从MySQL表中提取信息: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
$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']);