Php 如何使用mysql检查带where子句的撇号
MySQL中WHERE子句如何使用撇号 我已经使用mysql\u real\u escape\u字符串对输入进行了清理 这是我的mySQL查询和数据库的截图Php 如何使用mysql检查带where子句的撇号,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,MySQL中WHERE子句如何使用撇号 我已经使用mysql\u real\u escape\u字符串对输入进行了清理 这是我的mySQL查询和数据库的截图 SELECT * FROM players WHERE `name` = 'Amar'e Stoudemire' 执行此查询将生成以下错误: 知道为什么吗?单引号可以在MySQL中自行转义,就像这样: SELECT * FROM players WHERE `name` = 'Amar\''e Stoudemire' 单引号可以在MyS
SELECT * FROM players WHERE `name` = 'Amar'e Stoudemire'
执行此查询将生成以下错误:
知道为什么吗?单引号可以在MySQL中自行转义,就像这样:
SELECT * FROM players WHERE `name` = 'Amar\''e Stoudemire'
单引号可以在MySQL中自行转义-如下所示:
SELECT * FROM players WHERE `name` = 'Amar\''e Stoudemire'
如果单元格内容为\,则必须转义这两个字符:
\->\\
“->
如果单元格内容为\,则必须转义这两个字符:
\->\\
“->我为帮助我解决这个问题的juergen d找到了答案
<?php
$name = "Amar'e Stoudemire";
?>
这是带撇号的字符串
如果您想在mysql查询中用where子句检查这个字符串,那么下面是解决方案
<?php
$name = addslashes(addslashes($name));
/*Amar\\\'e Stoudemire*/
?>
SELECT * FROM players WHERE `name` = "'.$name.'"
我找到了juergen d的答案,他帮我解决了这个问题
<?php
$name = "Amar'e Stoudemire";
?>
这是带撇号的字符串
如果您想在mysql查询中用where子句检查这个字符串,那么下面是解决方案
<?php
$name = addslashes(addslashes($name));
/*Amar\\\'e Stoudemire*/
?>
SELECT * FROM players WHERE `name` = "'.$name.'"
您是在试图防止SQL注入攻击,还是只是想知道如何格式化此查询,使其运行时不会出错?您是在试图防止SQL注入攻击,或者您只是想知道如何格式化此查询,使其运行时不会出现错误?尝试此查询时响应为空我已通过此查询找到数据,但我的问题是如何使用php@Samad:在执行查询之前,您可以使用str\u replace将所有“\”和“翻倍”。@Samad:实际上您正在使用mysql\u real\u escape\u字符串,应该可以使用。我想你真正的问题是你手机的内容不是。。。但是…\'。。。。不知怎的,一根逃脱的绳子进入了你的牢房。也许你可以解决这个问题。当我尝试这个查询时,juergen会在下面的完整响应中看到我的答案。我已经通过这个查询找到了我的数据,但我的问题是如何使用php@Samad:在执行查询之前,您可以使用str\u replace将所有“\”和“翻倍”。@Samad:实际上您使用的是mysql\u real\u escape\u字符串,应该可以使用。我想你真正的问题是你手机的内容不是。。。但是…\'。。。。不知怎的,一根逃脱的绳子进入了你的牢房。也许你能解决这个问题。当我尝试这个时,juergen会在下面看到我的答案query@Samad:Try now-表中的实际值是Amar'e Stoudemire,而不是Amar'e Stoudemire.Null响应query@Samad:立即尝试-表中的实际值为Amar逖e Stoudemire,非Amar'e Stoudemire.importional mysql\u real\u escape\u字符串用于插入mpulsory mysql\u real\u escape\u字符串用于插入