<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? 有什么建议吗?
答案 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个字符