Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有组合代码的类PHP函数_Php_Mysql - Fatal编程技术网

带有组合代码的类PHP函数

带有组合代码的类PHP函数,php,mysql,Php,Mysql,现在我想当用户有这样的组合代码:GG1250015--0021255或BA5121152--52211554时,它将回显得到的数据,因为我们看到代码include在数据库中 那么如何使用LIKE将其设置到SQL中呢? 有什么建议吗?早上好 对like变量使用通配符搜索 如果要在代码后搜索,请使用$code%,它允许在代码后搜索任何内容;如果希望输入的代码与任何地方匹配,请使用%$code% 如果您与您的建议相匹配,则需要从存储代码中删除-,因为它将查找gg1250015,而不是gg125-001

现在我想当用户有这样的组合代码:GG1250015--0021255或BA5121152--52211554时,它将回显得到的数据,因为我们看到代码include在数据库中

那么如何使用LIKE将其设置到SQL中呢? 有什么建议吗?

早上好

对like变量使用通配符搜索

如果要在代码后搜索,请使用$code%,它允许在代码后搜索任何内容;如果希望输入的代码与任何地方匹配,请使用%$code%

如果您与您的建议相匹配,则需要从存储代码中删除-,因为它将查找gg1250015,而不是gg125-0015


唯一的问题是,如果有人只输入gg125,他们也会得到一个结果,因此可能必须首先使用STRLEN验证代码是否为9个字符GG125-0015'。如果您想在没有破折号的情况下进行比较,那么在没有破折号的情况下进行存储是一个更好的主意。你可以随时把它放回去显示。我更喜欢使用正则表达式。。
code_id | code
1       | GG125-0015
2       | BA512-1152
<?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";
}
code_id | code
1       | GG125-0015
2       | BA512-1152
$code=substr($mainSub,0,5)."-".substr($mainSub,5,4);
$query = mysql_query("SELECT * FROM t_code WHERE code='$code'");
$query = mysql_query("SELECT * FROM t_code WHERE '$code' like CONCAT(\"%\",REPLACE(CODE,\"-\",\"\"),\"%\")");