Php 通过短查询选择多条记录

Php 通过短查询选择多条记录,php,mysql,pdo,Php,Mysql,Pdo,我有一到十类的电话。。我希望在不编写长代码的情况下获得数据输出,如 function comp_post_code($comp_post_code){ global $host, $dbname, $user, $pass; $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass); $DBH->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); ///***

我有一到十类的电话。。我希望在不编写长代码的情况下获得数据输出,如

function comp_post_code($comp_post_code){
global $host, $dbname, $user, $pass;
$DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$DBH->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); ///*** for error handling
$STH = $DBH->prepare("SELECT * from uk_data where 
comp_post_code like :comp_post_code and cat1 like :cat");
$STH->bindValue(':cat', "%$cat1%", PDO::PARAM_STR);
$STH->bindValue(':comp_post_code', "%$comp_post_code%", PDO::PARAM_STR);
$STH->execute();
$STH->setFetchMode(PDO::FETCH_ASSOC);
return $STH;
}
我有办法解决这个问题…我们可以写代码,然后出去,但是我们还想知道我们可以用其他方法吗

表结构

公司邮政编码 第一类 第二类 第三类
cat4根据您评论中的详细信息:

 and comp_post_code like :comp_post_code and cat2 like :cat
 and comp_post_code like :comp_post_code and cat3 like :cat

你能把桌子的结构贴出来吗?(cat1..cat10是表列?@FlorinelChis是的,我已经编辑了问题…:cat应该在所有cat[1-n]或任何列中找到?@FlorinelChis我正在搜索,如果post代码像B91%,并且cat在任何cat(从cat1到Cat9)中,它应该在输出中。。。
SELECT * from uk_data where 
comp_post_code like :comp_post_code AND (
cat1 like :cat OR
cat2 like :cat OR
cat3 like :cat OR
cat4 like :cat OR
cat5 like :cat OR
cat6 like :cat OR
cat7 like :cat OR
cat8 like :cat OR
cat9 like :cat OR
cat10 like :cat
)