PHP、Mysql、数据库内部搜索

PHP、Mysql、数据库内部搜索,php,mysql,Php,Mysql,当PHP变量中包含特定列值时,我希望返回特定表中的所有行,例如:第34行:列'xyz'值等于=“兔子”,我的PHP变量是$var=“兔子,罗伯特,青少年”,因为“xyz”列值包含在$var中,所以我希望将其选中 我怎样才能做到这一点呢?如果我正确理解了你的问题,那么你正在寻找这样的答案: $arr = explode(',', $var); $where_in_val = ''; foreach($arr as $value){ $where_in_val.= "'$value',"; }

当PHP变量中包含特定列值时,我希望返回特定表中的所有行,例如:第34行:列'xyz'值等于=“兔子”,我的PHP变量是
$var=“兔子,罗伯特,青少年”
,因为“xyz”列值包含在
$var
中,所以我希望将其选中


我怎样才能做到这一点呢?

如果我正确理解了你的问题,那么你正在寻找这样的答案:

$arr = explode(',', $var);
$where_in_val = '';
foreach($arr as $value){
  $where_in_val.= "'$value',";
}
$where_in_val = substr($where_in_val,0,-1);
那么您的查询可能是这样的

从xyz所在的my_表中选择*($WHERE_IN_val)

注意:不要忘记清理/转义/消毒用户输入

将逗号分隔列表转换为sql格式并放入查询中

$query = "select blah blah WHERE xyz IN ('".str_replace("," ,"','", $var)."');"

将其更改为相当于xyz在(兔子、罗伯特、青少年)@Cups中的位置:他可能不想要
robert
teen
。还是他?我和robert和teen没有任何关系,但是因为rabbit在php变量中,xyz列是rabbit,所以我希望返回该列。@CioroanuDenisgabriel:但是变量中还有其他东西,你怎么知道你只想要
rabbit
?Cups关于xyz IN($var)在哪里的建议对你有用吗?@Rocket:他建议如果表中有“robert”和“teen”条目,他会想要它们,但在本例中没有。