我只是想在 CodeIgniter 中进行基本搜索。
控制器
$brand = $this->uri->segment(2);
$brand = utf8_decode(urldecode($brand));
$search['type'] = 5;
$search['title'] = $brand;
$this->data['deal_brand'] = $this->manage_m->search($search);
print_r($this->data['deal_brand']);
型号
function search($search)
{
$query = $this->db->get_where('manage', $search);
return $query->first_row();
}
搜索适用于以下内容
www.mydomain.com/deal/audi
不适用于
www.mydomain.com/deal/citroën
当我得到最后一个查询时,它会打印
SELECT * FROM (`manage`) WHERE `type` = 5 AND `title` = 'citroën'
查询看起来正确,但不起作用。当我复制它并在 mysql 服务器中运行它或通过如下所示的静态查询运行它时,它就可以工作了
$query = $this->db->query("SELECT * FROM (`manage`) WHERE `type` = 5 AND `title` = 'citroën'");
print_r($query->result());
你的问题是这样的:utf8_decode
来自文档:此函数将假设为 UTF-8 编码的数据解码为 ISO-8859-1。
这显然不是你想要做的,你的整个软件都是UTF-8,没有理由将其转换为ISO-8859-1。