PHP Like函数与组合代码

时间:2013-07-23 06:32:37

标签: php mysql

<form method="post" action="post.php">
<input type="text" name="code"/>
</form>

<?php
$code = $_POST['code'];
include ("db.php");
$query = mysql_query("SELECT * FROM t_code WHERE code LIKE '$code'");
if(mysql_num_rows($query))
{
echo "Got data";
}
else
echo "No data";
}
表中的

t_code

code_id | code
1       | GG125-0015
2       | BA512-1152

现在我希望当用户拥有这样的组合代码:GG1250015--0021255或BA5121152--52211554时,它会回显Got数据,因为我们看到代码包含在数据库中。

那么如何使用LIKE将其设置为我的SQL? 有什么建议吗?

3 个答案:

答案 0 :(得分:1)

$code=substr($mainSub,0,5)."-".substr($mainSub,5,4);
$query = mysql_query("SELECT * FROM t_code WHERE code='$code'");

答案 1 :(得分:1)

$query = mysql_query("SELECT * FROM t_code WHERE '$code' like CONCAT(\"%\",REPLACE(CODE,\"-\",\"\"),\"%\")");

答案 2 :(得分:0)

上午,

对like变量使用通配符搜索..

如果你想在代码之后搜索使用$ code%,它允许代码之后的任何内容,或者如果你想让输入的代码在任何地方匹配,则使用%$ code%。

你需要从存储的代码中删除 - 如果你匹配你的建议,虽然因为它将寻找gg1250015而不是gg125-0015

如果有人只输入gg125,他们也会得到一个结果,所以可能必须首先使用STRLEN验证代码是9个字符