Вставка NOW () в базу данных с активной записью CodeIgniter - PullRequest
75 голосов
/ 15 июня 2011

Я хочу вставить текущее время в базу данных, используя функцию mySQL NOW () в активной записи Codeigniter. Следующий запрос не будет работать:

$data = array(
        'name' => $name ,
        'email' => $email,
        'time' => NOW()
        );
        $this->db->insert('mytable', $data);

Это потому, что класс ActiveRecord CodeIgniter автоматически экранирует входные данные.

Следующее работает нормально, вызывая set () и передавая peratmeter FALSE, чтобы он не выходил из NOW ().

$data = array(
        'name' => $name ,
        'email' => $email,
        );
        $this->db->set('time', 'NOW()', FALSE);
        $this->db->insert('mytable', $data);

Однако мой вопрос в том, есть ли другой способ, кроме этого? Например, если я могу использовать как-то использовать, добавив все в массив данных только? Например, что-то вроде:

$data = array(
            'name' => $name ,
            'email' => $email,
            'time' => NOW(), FALSE
            );

Ответы [ 11 ]

0 голосов
/ 21 апреля 2015

$this->db->query("update table_name set ts = now() where 1=1") также работает для отметки текущего времени!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...