我想在单行代码中使用多个查询。但它不适用于多个。它仅适用于一个查询。
这是我的代码:
$kuafor = $this->input->post("kuafor");
$donem = $this->input->post("donem");
$ilk_tarih = $this->input->post("ilk_tarih");
$son_tarih = $this->input->post("son_tarih");
$ara = $this->db->select("*")
->or_like(array("kuafor_id"=> $kuafor, "tarih"=> $donem))
->or_like(array("tarih >="=> $ilk_tarih, "tarih <="=> $son_tarih))
->get("hesaplar");
foreach($ara->result_array() as $row){
if(!empty($row["tarih"])){
echo "var";
} else {
echo "yog";
}
}
修改
这是我的SQL代码:
CREATE TABLE `hesaplar` (
`id` int(11) NOT NULL,
`kuafor_id` int(11) NOT NULL,
`tarih` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Tablo döküm verisi `hesaplar`
--
INSERT INTO `hesaplar` (`id`, `kuafor_id`, `tarih`) VALUES
(12, 3, '2018-02-03', 13, 3, '2018-02-04' );
答案 0 :(得分:1)
尝试分隔每个like
语句:
$ara = $this->db->select("*")
->or_like("kuafor_id", $kuafor)
->or_like("tarih", $donem)
->or_like("tarih >=", $ilk_tarih)
->or_like("tarih <=", $son_tarih)
->get("hesaplar");
答案 1 :(得分:0)
您应该使用or_where
代替or_like
:
->or_where(array("tarih >="=> $ilk_tarih, "tarih <="=> $son_tarih))