查找完全匹配项的正确 sql 命令是什么?

What's the correct sql command to find exact matches?

提问人:Noah R 提问时间:4/21/2012 最后编辑:Mathew ThompsonNoah R 更新时间:5/23/2012 访问量:2939

问:

下面的代码显然会搜索与查询变量类似的结果,但是搜索确切结果而不是“喜欢”的 SQL 命令是什么?

$query = "SELECT languages.language FROM languages WHERE language LIKE '%".$name."%'";
php sql 精确匹配

评论

3赞 Daniel A. White 4/21/2012
警告 您的代码容易受到 SQL 注入攻击。
0赞 Robert Harvey 4/21/2012
@Radu: 如何在PHP中为变量赋值?
0赞 Daniel A. White 4/21/2012
@RobertHarvey - 一个更好的问题是如何在 PHP 中声明变量?

答:

5赞 Daniel A. White 4/21/2012 #1

您是否尝试过运算符并删除通配符?=%

评论

0赞 James Johnson 4/21/2012
+1:什么!?你到底是怎么弄清楚的!?你是超级巨星;-)
1赞 Mathew Thompson 4/21/2012 #2

编辑:虽然我回答了你的问题,但值得指出的是,正如其他人所说,你的代码容易受到SQL注入攻击:)

对于完全匹配:

$query = "SELECT languages.language FROM languages WHERE language ='".$name."'";

对于非匹配项:

$query = "SELECT languages.language FROM languages WHERE language <> '".$name."'";

评论

1赞 Robert Harvey 4/21/2012
警告 您的代码容易受到 SQL 注入攻击。
0赞 Mathew Thompson 4/21/2012
我知道,但我只是按照他的要求做了,我已经:)免责声明