通过Codeigniter在MySQL中存储日期。日期存储为0000:00:00

时间:2016-04-05 16:40:34

标签: php mysql codeigniter

我有大型表格,有30多个用户输入,包括两个日期字段作为合约开始日期和合约结束日期。我正在使用Jquery UI来捕获前端的日期。

控制器:

$data = $this->input->post(); // returns all POST items without XSS filter
            $this->form_validation->set_error_delimiters('<div class="alert alert-dismissible alert-info"><button type="button" class="close" data-dismiss="alert">close</button>', '</div>');
            $this->form_validation->set_rules('nameMusicCompany', 'Music Company Name', 'required');

            if($this->form_validation->run() == FALSE)
            {
                $this->load->view('pages/clientview/client_page');
                $this->load->view('templates/footer');
            }
            else 
            {

                $result = $this->client_model->create_new_client($data);
                if($result !== false)
                {
                    $this->session->set_flashdata('client_insert_message', '<div class="alert alert-success alert-dismissible text-center" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>New Client Created Successfully!</div>');
                    redirect('Client');
                }
            }

我使用$this->input->post()获取数组中所有30个字段的值,并将其分配给$ data。

在MySQL表中插入数据的模型:

public function create_new_client($data)
        {
                $this->db->insert('client_data', $data);

                if($this->db->affected_rows() > 0)
                {
                        return true;
                }
                else 
                {
                        return false;
                }
        }

它的工作正常,但日期在表格中存储为0000:00:00。这两列的数据类型都是MySQL中的TIMESTAMP。

1 个答案:

答案 0 :(得分:1)

mysql timestamp字段接受yyyy-mm-dd H:i:s日期格式,因此您必须将日期传递给此格式而不是UNIX时间戳。

转换日期如下:

$date = date('Y-m-d H:i:s', $your_date);