撇号(')如何与MySQL中的WHERE
子句一起使用?
我已经使用mysql_real_escape_string
来清理输入。
以下是mySQL查询和数据库的截图
SELECT * FROM players WHERE `name` = 'Amar'e Stoudemire'
执行此查询会生成以下错误:
知道为什么吗?
答案 0 :(得分:5)
SELECT * FROM players WHERE `name` = 'Amar\\''e Stoudemire'
如果您的手机内容为\'
,那么您必须同时转义这两个字符:
\
- > \\
'
- > ''
答案 1 :(得分:1)
我找到了帮助我解决此问题的juergen d
的答案。\ n \ n
<?php
$name = "Amar'e Stoudemire";
?>
这是撇号的字符串 如果你想在mysql Query中用where子句检查这个字符串,那么这里就是解决方案
<?php
$name = addslashes(addslashes($name));
/*Amar\\\'e Stoudemire*/
?>
SELECT * FROM players WHERE `name` = "'.$name.'"
答案 2 :(得分:0)
单引号可以在MySQL中自行转义 - 就像这样:
SELECT * FROM players WHERE `name` = 'Amar\''e Stoudemire'