繁体   English   中英

如何使用mysql检查where子句的撇号

[英]How to check Apostrophe with where clause using mysql

在MySQL的WHERE子句中如何使用撇号(')?

我已经使用mysql_real_escape_string清理输入了。

这是我的mySQL查询和数据库的屏幕截图

SELECT * FROM players WHERE `name` = 'Amar'e Stoudemire'

在此处输入图片说明

执行此查询将产生以下错误:

在此处输入图片说明

知道为什么吗?

SELECT * FROM players WHERE `name` = 'Amar\\''e Stoudemire'

如果单元格内容为\\'则必须转义两个字符:

\\ -> \\\\
' -> ''

我找到了针对juergen d答案thanx,他们帮助我解决了该查询

<?php 
$name = "Amar'e Stoudemire";
?>

这是带有Apostrophe的字符串,如果您想在MySQL查询中使用where子句检查此字符串,那么这里是解决方案

<?php 
$name = addslashes(addslashes($name));
/*Amar\\\'e Stoudemire*/
?> 

SELECT * FROM players WHERE `name` = "'.$name.'"

在MySQL中,单引号可以自己转义-像这样:

SELECT * FROM players WHERE `name` = 'Amar\''e Stoudemire'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM