使用数组PHP在SQL数据库中搜索
我有这部分的疑问:使用数组PHP在SQL数据库中搜索,php,mysql,search,Php,Mysql,Search,我有这部分的疑问: $value = array('one', 'two', 'three'); 该查询仅在数据库包含值=='one'或'two'或'three'时返回结果。 如何将查询更改为返回“一”、“二”或“三”之类的查询 PS抱歉我的英语不好这里有一个快速而肮脏的解决方案: $features_filter .= $this->db->placehold('AND p.id in (SELECT product_id FROM __options WHERE feature
$value = array('one', 'two', 'three');
该查询仅在数据库包含值=='one'或'two'或'three'时返回结果。
如何将查询更改为返回“一”、“二”或“三”之类的查询
PS抱歉我的英语不好这里有一个快速而肮脏的解决方案:
$features_filter .= $this->db->placehold('AND p.id in (SELECT product_id FROM __options WHERE feature_id=? AND value in (?@) ) ', $feature, $value);
谢谢PS非端孔;真是永无止境@谢谢。立即更正。PSS$new.=类似“%$value[$i]”;和$new.=或价值;和$features\u filter.=$this->db->placehold'和p.id在从u选项中选择产品_id,其中feature\u id=?和值“$new.”,$feature;希望我现在没有忘记什么。
$value = array('one', 'two', 'three');
for ($i = 0; $i < sizeof($value); $i++ ):
$new .= " LIKE '%$value[$i]%'";
if ( $i < sizeof($value) -1 ) :
$new .= " OR";
endif;
endfor;
$features_filter .= $this->db->placehold('AND p.id in (SELECT product_id FROM __options WHERE feature_id=? AND value ' . $new ) ', $feature );
array_walk( $value, function (&$value, $key) {
$value = " LIKE %$value%";
});
$new = implode(' OR', $value );