Я пытаюсь ввести дату и время в поле datetime в MySql. Сейчас он вводит дату и время 0000-00-00 00:00:00. У меня 3 таблицы: статья, пользователь и userarticles.Codeigniter datetime не вставлен
статья: идентификатор (целое), название (VARCHAR), гиперссылка (VARCHAR), тело (текст), дата (даты и время)
пользователя: идентификатор (целое) ....
userarticle: UID (целое) , помощь (интермедиат) -где UID является user.id и помощь article.id
здесь является частью моего контроллера пользователя:
function newArticle()
{
$this->load->view('newArticleview');
}
function insertArticle()
{
//insert from form into article table
$this->db->insert('article', $_POST);
//get ID of the row just added
$rowID = $this->db->insert_id();
$uid = $this->tank_auth->get_user_id();
$data = array('uid' => $uid, 'aid' => $rowID);
//insert uid and aid into userarticles table
$this->db->insert('userarticles', $data);
redirect('');
}
мой newArticleview
<html>
<head>
<title>Save Me - Add New Article</title>
</head>
<body>
<?php
$date = date("Y-m-d H:i:s");
echo form_hidden('date', $date);
echo form_open('user/insertArticle');
?>
<p>Title:<input type="text" name="title"></p>
<p>URL:<input type="text" name="url"></p>
<p><textarea name="body" rows="20"></textarea></p>
<p><input type="submit" value="Submit"></p>
</form>
</body>
</html>
Все правильно вставлено в базу данных, за исключением даты и времени, кто-нибудь знает, что не так? скрытая форма отображается неправильно, как <input type="hidden" name="date" value="2011-04-08 21:51:10" />
вы знаете, как получить CodeIgniter забрать поле даты? Дата отображается в html как '' – Raptrex
Я не думаю, что дата - это зарезервированное слово. http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html – Raptrex
@Raptrex Я бы сказал, что это по-прежнему плохой выбор для имени столбца. Существует еще одно прилагательное, описывающее дату, которая делает ее более описательной. Кроме того, 'date()' является именем функции в php, так что кто знает, как codeigniter под капотом использует это определение. Меня не удивило бы, что он выполняет вызов на сегодняшний день, чтобы переопределить значение, которое вы предоставляете в своей форме. – Wes