如何在 Codeigniter 中应用时间戳差异?

我是编写程序的新手,


我需要获取数据类型为 datetime-local 的 2 列之间的时间戳差异。


下面是一个 sql 查询,它使用合适的语法来获取中断持续时间


SELECT timestampdiff(hour,DateStarted,DateRestored) as Outage from network_outage

但是我不知道如何将这个插入到我的数据库中 我正在使用 codeigniter 框架


见下面的型号代码


    function get_networkoutage($OutageDuration)

      {

        $this->db->select('timestampdiff(DateStarted,DateRestored) as OutageDuration',$OutageDuration);

          $query = $this->db->get('network_outage');

          return $query;

      }

下面是我的控制器代码


    $data['NetworkOutage'] = $this->network_model->get_networkoutage($OutageDuration);


在视图页面中回显 NetworkOutage 后,它给了我一个错误


A PHP Error was encountered

Severity: Notice


Message: Undefined variable: OutageDuration


Filename: controllers/Site.php


Line Number: 59


Backtrace:


File: D:\xampp\htdocs\itsystem\application\controllers\Site.php

Line: 59

Function: _error_handler


File: D:\xampp\htdocs\itsystem\index.php

Line: 315

Function: require_once

Error Number: 1064


You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'DateStarted, DateRestored) as OutageDuration FROM `network_outage`' at line 1


SELECT timestampdiff(DateStarted, DateRestored) as OutageDuration FROM `network_outage`


Filename: D:/xampp/htdocs/itsystem/system/database/DB_driver.php


Line Number: 691


繁花如伊
浏览 171回答 1
1回答

胡子哥哥

我的回答是在此处输入链接描述的参考,因为我无法将其添加为评论。SELECT TIMESTAMPDIFF(SECOND, '2012-06-06 13:13:55', '2012-06-06 15:20:18') 将返回 7583。作为第一个参数,您可以使用 MICROSECOND (microseconds), SECOND, MINUTE,小时、天、周、月、季度或年。希望这可以帮助
打开App,查看更多内容
随时随地看视频慕课网APP