如何使用LIKE有效进行SELECT?

时间:2015-02-22 16:07:03

标签: php sql

我正在尝试使用LIKE执行查询。我正在使用LIKE or LIKE,因为我需要SELECT返回一个值或其他值,它是有效的。问题是我需要cidade返回,cidade是我数据库中的一个表。

我正在尝试这个。

public function getLocalByNomeOrTipo($value, $idCidade){
        $find = "%".$value."%";
        $stm = $this->conexao->prepare("SELECT * FROM locais t1
                                        INNER JOIN cidade t2 ON (t1.cidade_id = t2.id)
                                        INNER JOIN tipo_local t3 ON (t1.tipo_local_id = t3.id)
                                        WHERE (t1.cidade_id = ?) AND (status = 1) AND (t1.nome LIKE ? OR t3.tipo LIKE ?)
                                        ORDER BY t1.nome");
        $stm->bindParam(1, $idCidade);
        $stm->bindParam(2, $find);
        $stm->bindParam(3, $find);
        $stm->execute();
        $lista = $stm->fetchAll();

        return $lista;
    }

1 个答案:

答案 0 :(得分:0)

解决了这个问题。

public function getLocalByNomeOrTipo($value, $idCidade){
        $find = "%".$value."%";
        $stm = $this->conexao->prepare("SELECT * FROM locais t1
                                        INNER JOIN cidade t2 ON (t1.cidade_id = t2.id)
                                        INNER JOIN tipo_local t3 ON (t1.tipo_local_id = t3.id)
                                        WHERE (t1.cidade_id = ?) AND (status = 1) AND (t1.nome LIKE ? OR t3.tipo LIKE ?)
                                        ORDER BY t1.nome");
        $stm->bindParam(1, $idCidade);
        $stm->bindParam(2, $find);
        $stm->bindParam(3, $find);
        $stm->execute();
        $lista = $stm->fetchAll();

        return $lista;
    }