我的查询:
$statement = $pdo->prepare("SELECT * FROM posts WHERE subid IN (:key2) AND pricing=:rate2 AND Poscode=:postcode2 ORDER BY Poscode DESC LIMIT 60");
仅用于subid的值数组中的用户键,因此我使用implode
和IN
在数据库中进行相应的选择。
以下是我从用户输入中获取值的方法:
$a=$data['sub'];//this is for subid
foreach($a as $v=>$k)
{
$key[]=$v;
}
$key2=implode(',',$key);
$postcode=$data['postcode'];
$rate=$data['slider1'];
问题是,由于用户密钥在多个subid中,查询应该通过数据库搜索匹配的子代码,poscode和rate。
我想它应该返回,如果找到两个匹配记录,则返回两个记录,一个用于子A,另一个用于子B.
但是现在,它返回两条记录,但是具有相同的数据,这意味着同一个subid?
是什么让这个查询不能返回具有不同ID的数据?
示例数据
用户注册了两个帖子。
发布1:postA
用户名:userA
主题:数学
率:50
邮编:12345
帖子2:postB
用户名:userA
主题:科学
率:50
邮编:12345
现在我想对此进行搜索:
我输入率:50,
邮编:12345
科目:数学,科学
现在我应该看看,两个帖子有两个不同的ID,主题但是 相同的用户,邮政编码和费率。
但我所看到的:
相同的id,相同的主题,相同的速率(即 正确),相同的邮政编码(这是正确的)。