PHP,Mysql,在数据库内搜索

时间:2012-07-26 15:01:43

标签: php mysql

我希望在PHP变量中包含特定列值时返回特定表中的所有行,例如:第34行:列'xyz'值等于=“rabbit”,我的php变量为{{ 1}},因为“xyz”列值包含在$var = "rabbit,robert,teen"中,我希望它被选中。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

如果我理解你的问题,你正在寻找这样的事情:

$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)

注意:不要忘记清洁/转义/清理用户的输入。