尝试将日期类型转换为PHP中的时间类型以插入到time类型的列中

时间:2013-10-02 18:19:53

标签: php sql codeigniter activerecord

这让我整天都抱着我有一个名为hours的列,我加上小时(不是时钟时间)我有一个方法从另一个(starttime -endtime)获取一个日期但是当我尝试更新一个条目时它的工作时间不会低于我的代码。

private function calculatedifference($starttime,$endtime) // delete checkin time from     checkouttime
{

    $diff=  abs(strtotime($starttime) - strtotime($endtime));
    return  date("H:i:s",$diff);

}

然后我继续尝试根据用户电子邮件及其开始时间更新行。但它不起作用?下面是我模型中的方法,用于更新我用来调用该方法的条目和代码行。

function update_daily_row($email,$date,$data)//update existing row.
  {


$this->db->where('email', $email);
$this->db->where('starttime', time($date));
    $this->db->update('dailyinfo', $data); 


  }

这里是我调用方法的地方。

$hours=$this->calculatedifference(date("Y-m-d H:i:s",
 $this->session->userdata
('last_activity')),date("Y-m-d H:i:s"));

$data =array("hours"=>$hours,"endtime"=>date("Y-m-d H:i:s"));

$this->dbaccess->update_daily_row
($this->cdata['email'],
date("Y-m-d H:i:s",
$this->session->userdata('last_activity')),$data);

任何帮助都会受到赞赏,因为我实际上是因为看到这件事而失明了

更新:所以我使用此命令检查了查询

$this->db->last_query();

返回查询的电子邮件地址丢失了吗?这意味着活动记录可能不喜欢电子邮件地址的格式。反正在这周围?

我的查询在使用此方法后返回

UPDATE `dailyinfo` SET `endtime` = '2013-10-02 21:14:02',
 `hours` = '00:00:03' WHERE `email` = ''AND `starttime` = '2013-10-02 21:13:59' 

所以电子邮件总是空白的。不知道如何解决这个???

0 个答案:

没有答案