Php CodeIgniter查询语法

时间:2015-09-18 06:57:26

标签: php mysql codeigniter

Helo家伙

我试图在codeigniter中执行查询,这个工作

$this->db->where("DATEDIFF(NOW(), date_and_time) BETWEEN 30 AND 60");

但是这显示我的控制器没有加载错误,我错了什么?

$this->db->where("DATEDIFF(NOW(), date_and_time) BETWEEN" .$number1. "AND".$number2.")";  

提前感谢你。

5 个答案:

答案 0 :(得分:2)

你错过了“AND”之前和之后的空间:

$this->db->where("DATEDIFF(NOW(), date_and_time) BETWEEN " .$number1. " AND ".$number2.")";

答案 1 :(得分:2)

这是我的代码:

我只是在我自己的codeigniter项目上进行查询,如下面的代码:

$this->db->select();
$this->db->where("DATEDIFF(NOW(), dateCreated) BETWEEN 0 AND 10");
$this->db->get(tb_publishers);

通过codeigniter函数last_query()返回查询为:

SELECT * FROM (`tb_publishers`) WHERE DATEDIFF(NOW(), dateCreated) BETWEEN 0 AND 10

我在phpmyadmin上的输出如下

enter image description here

我希望错误可能由于周围没有空格而发生,而且声明请纠正那个......

答案 2 :(得分:1)

尝试这个:

$this->db->where( "DATEDIFF (NOW(), date_and_time) BETWEEN ".$number1. " AND ".$number2." ",null, false);

答案 3 :(得分:0)

我刚修改了你的代码......试试这个。

$where=array(
              'DATEDIFF(NOW(), date_and_time) BETWEEN'=>$number1,
              'DATEDIFF(NOW(), date_and_time) BETWEEN'=>$number2
           );
$this->db->where($where);

答案 4 :(得分:-1)

最后这个工作

 $where=array("DATEDIFF(NOW(), date_and_time) BETWEEN $number1  AND  $number2");                         

  $this->db->where($where);   

感谢帮助和建议人员