2013-05-25 1 views
0

Я пытаюсь использовать этот код, плюс CodeIgniter кCodeIgniter/Postgres бросать ошибки при попытке вставить метку времени

$data = array(
// 'category' => $dbi['category'], 
    'transaction_timestamp' => time(), 
); 

$this->db->insert('bitzon', $data); 

Ошибка: данное

A Database Error Occurred 

Error Number: 

ERROR: column "transaction_timestamp" is of type timestamp without time zone but  expression is of type integer" 

Почему это?

+2

вместо 'времени()' использовать 'дату («Ymd H: я: s») ' –

+0

большое спасибо. Я думаю, что я закончил! Можете ли вы сказать мне, почему 'time()' не работает? – Joseph

+2

time() возвращает временную метку unix: секунды с jan 1/1970, что является целым числом. timestamp/datetime в mysql ожидают дату/время ** STRING ** в формате 'yyyy-mm-dd hh: mm: ss'. –

ответ

0

вам нужно использовать date(), чтобы преобразовать его в соответствующий формат даты и времени, а не time(), которая возвращает целочисленный

$data = array(
    // 'category' => $dbi['category'], 
    'transaction_timestamp' => date('Y-m-d H:i:s'), 
); 

$this->db->insert('bitzon', $data); 
Смежные вопросы