我正在尝试使用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;
}
答案 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;
}