значения не сохраняются в базе данных с использованием codeigniter - PullRequest
0 голосов
/ 27 июня 2018

Я использую концепцию codeigniter для сохранения записей в базе данных, у меня есть небольшая проблема с этим кодированием, пожалуйста, любой может помочь мне, как я новичок в этой концепции, проверка правильности формы работает правильно, но когда я пытаюсь вставить и отправить данные, они не сохраняются в базе данных, поэтому я не понимаю, с какой проблемой они сталкиваются, пожалуйста Может ли кто-нибудь помочь мне решить эту проблему.

Home.php (файл контроллера)

    <?php  
    defined('BASEPATH') OR exit('No direct script access allowed');  

    class Home extends CI_Controller {
        public function __construct() 
        {
            parent::__construct();

            //load database libray manually
            $this->load->database();

            //load Model
            $this->load->model('Contact_model');

            // load form and url helpers
            $this->load->helper(array('form', 'url'));

            // load form_validation library
            $this->load->library('form_validation');
        }

        public function contact()  
        {  
            // Basic validation
            $this->form_validation->set_rules('name', 'Name', 'required');
            $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
            $this->form_validation->set_rules('subject', 'Subject', 'required');
            $this->form_validation->set_rules('message', 'Message', 'required');

            if ($this->form_validation->run() == FALSE)
            {
                $this->load->helper('url');
                $this->load->view('header');
                $this->load->view('contact'); 
                $this->load->view('footer');
            }
            else
            {
                /* load success template...
                echo "Thanks For Contacting!";*/
                //insert
                if($this->input->post('submit'))
                {
                    $name=$this->input->post('name');
                    $email=$this->input->post('email');
                    $subject=$this->input->post('subject');
                    $message=$this->input->post('message');
                    $this->Contact_model->saverecords($name,$email,$subject,$message);  
                    echo "Records Saved Successfully";
                }
            }
        }

    }  
    ?>

contact_model.php (файл модели)

    <?php
        class Contact_model extends CI_Model 
        {
            //Insert
            function saverecords($name,$email,$subject,$message)
            {
                $query="insert into contact values('','$name','$email','$subject','$message')";
                $this->db->query($query);
            }
        }
    ?>

1 Ответ

0 голосов
/ 27 июня 2018

Ваш запрос кажется неправильным, вам нужно описать столбцы, которые вы обновляете. Я полагаю, формат должен быть

$sql = "INSERT INTO foobar(firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')";

...