PHP,Mysql,数据库内部搜索


PHP , Mysql , searching inside database

当PHP变量中包含特定列值时,我想返回特定表中的所有行,例如:第34行:列"xyz"值等于="rabbit",而我的PHP变量是$var = "rabbit,robert,teen",因为"xyz"列值包含在$var中,所以我希望它被选中。

我该怎么做?

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

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

如果我正确理解你的问题,你正在寻找这样的东西:

$arr = explode(',', $var);
$where_in_val = '';
foreach($arr as $value){
  $where_in_val.= "'$value',";
}
$where_in_val = substr($where_in_val,0,-1);

那么您的查询可能类似于以下

SELECT * FROM my_table WHERE xyz IN ($where_in_val)

注意:不要忘记对用户的输入进行清理/转义/消毒。