如何在MySQL中使用WHERE
子句的撇号(')?如何使用mysql检查使用where子句的撇号
我已经使用mysql_real_escape_string
来消毒输入。
这里是我的MySQL查询的截图和数据库
SELECT * FROM players WHERE `name` = 'Amar'e Stoudemire'
执行此查询生成以下错误:
任何想法,为什么?
如何在MySQL中使用WHERE
子句的撇号(')?如何使用mysql检查使用where子句的撇号
我已经使用mysql_real_escape_string
来消毒输入。
这里是我的MySQL查询的截图和数据库
SELECT * FROM players WHERE `name` = 'Amar'e Stoudemire'
执行此查询生成以下错误:
任何想法,为什么?
SELECT * FROM players WHERE `name` = 'Amar\\''e Stoudemire'
如果你的内容是\'
那么你必须逃离这两个字符:
\
- >\\
'
- >''
Null Response当我尝试这个查询 – 2012-03-16 11:11:03
@Samad:查看我的更新 – 2012-03-16 11:15:41
我已经通过这个查询找到了我的数据,但我的Q是如何在字符串中使用php添加这些斜杠 – 2012-03-16 11:18:57
单引号可以用自己在MySQL进行转义 - 像这样:
SELECT * FROM players WHERE `name` = 'Amar\''e Stoudemire'
Null Response当我尝试这个查询时 – 2012-03-16 11:11:42
@Samad:现在试试 - 表中的实际值是'Amar \'e Stoudemire',而不是'Amar'e Stoudemire'。 – 2012-03-16 11:15:36
我发现我的答案thanx的juergen d
谁帮我解决这个查询
<?php
$name = "Amar'e Stoudemire";
?>
这是串省略号 ,如果你想查询此字符串MySQL查询与where子句所以这里解决方案
<?php
$name = addslashes(addslashes($name));
/*Amar\\\'e Stoudemire*/
?>
SELECT * FROM players WHERE `name` = "'.$name.'"
强制mysql_real_escape_string插入 – 2012-03-16 11:48:47
您是否试图阻止SQL注入攻击,或者您只是想知道如何格式化此查询以使其无误地运行? – 2012-03-16 11:06:53
格式化这个查询 – 2012-03-16 11:07:45