我正在尝试根据用户输入年龄(整数)获取人员的详细信息。现在,每当我执行下面的代码时,我的查询总是返回null Array()
。我没有指定$postdata
数组。您可以看到我使用$postdata['ageto']
和$postdata['agefrom']
用于计算$agefrom
和$ageto
$now = new DateTime();
//Converting _POST age to Date
$agefrom = date("Y-m-d",strtotime($now->format("Y")-$postdata['ageto'].'-'.$now->format("m").'-'.$now->format("d")));
$ageto = date("Y-m-d",strtotime($now->format("Y")-$postdata['agefrom'].'-'.$now->format("m").'-'.$now->format("d")));
$this->db->select('uacc_id, uacc_username, name, dob, city, education');
$this->db->from('user_accounts as a');
$this->db->join('personal as b','a.uacc_id = b.pruserid','INNER');
$this->db->join('profession as c','a.uacc_id = c.puserid','INNER');
$this->db->join('location as d','a.uacc_id = d.luserid','INNER');
$this->db->where('dob >= ',$agefrom);
$this->db->where('dob <= ',$ageto);
$this->db->limit(10, $offset);
$query = $this->db->get();
return $query->result();
我怀疑我的输入帖子没有正确获取数据。所以我用我的简单查询select * from... where dob >....
取而代之,它运作良好。所以_POST
变量没有问题。我不确定我做错了什么。有人可以帮助我。
答案 0 :(得分:2)
我认为你必须指定哪个表DOB属于a.dob。对不起该帖子,但我无法发表评论。希望这会有所帮助。
答案 1 :(得分:0)
选择字段应添加表名
$this->db->select('a.uacc_id, a.uacc_username, a.name....); // example
和您的where
也添加了表名。
$this->db->where('b.dod >= ', $agefrom); // example
或者您可以输出sql命令。
您可以查看here