用PHP数组实现AND功能的SQL查询


SQL query implementing AND functionality with PHP array

我在MySql中使用PHP。我需要一个查询,它应该根据我的要求为我获取结果。

我有一个表property_features_table,它具有一些特性。

在前端,我有一个搜索功能。当用户选择多个功能时,假设阳台,无线网络,2卧室等,他应该显示具有他选择的所有功能的物业。

但是,当我使用以下代码时,我得到的结果(属性)至少具有其中一个功能。

$featuresString = implode("','",$features);
$featuresString = "'".$featuresString."'";
$query = " SELECT * FROM property_features_tbl WHERE property_features_tbl.feature_id in (".$featuresString.")";

$features是一个数组,其中包含用户选择的功能。

我想显示具有用户选择的所有功能的属性。帮我写查询。

假设您只想要属性ID,那么如下所示:-

<?php
$featuresString = implode("','",$features);
$featuresString = "'".$featuresString."'";
$feature_count = count($features);
$query = " SELECT property_id, COUNT(*) AS feature_count 
        FROM property_features_tbl 
        WHERE property_features_tbl.feature_id in (".$featuresString.")
        GROUP BY property_id
        HAVING feature_count = $feature_count";
?>