2013-03-23 64 views
0
$query="SELECT * FROM tablename where fieldname='".$folders['name']."'"; 

上面这行是我的查询,其中Where子句中的Field包含data.how之间的空格,以删除该文件中存在的空格......例如使用trim或replace MySQL的在where子句mysql查询删除where条款中的空格

+0

上有'$文件夹中的空白[ '名']'你是什么意思? – kabuto178 2013-03-23 06:10:50

+0

$ folders ['name']是另一张表中的一个字段.....在英语中有点不好...我希望你明白 – acushla 2013-03-23 06:19:57

回答

1

如果你想删除数据中存在的所有空间,那么你可以Replace()与eith空字符,如

$var = $folders['name']; 
$query = "SELECT * FROM tablename where REPLACE(fieldname, ' ','') = '$var'"; 

但请记住,它可以杀死索引,所以查询将执行全表扫描导致大型数据库缓慢。


作为旁注,查询是用SQL Injection脆弱,如果变量的值(小号)从外部来了。请看下面的文章,了解如何防止它。通过使用PreparedStatements你可以摆脱使用单引号围绕值。