как исправить функцию insert_string () для вставки в базу данных postgreSQL - PullRequest
0 голосов
/ 10 октября 2019

Я написал код для запроса на вставку, и единственная ошибка в этом случае, когда я вставляю в PostgreSQL с codeigniter. Проблема не в запросе, а в конфигурации. Код контроллера загружен, но переменная изображения равна NULL.

Пожалуйста, помогите мне сузить его, чтобы я мог решить эту проблему.

Я попытался вставить с помощью функции insert_string() точную команду, которую мне нужно вставить в Postgres с codeigniter, ноЯ получаю синтаксическую ошибку для insert_string():

An uncaught Exception was encountered
Type: ArgumentCountError

Message: Too few arguments to function CI_DB_driver::insert_string(), 1 passed in /Applications/MAMP/htdocs/success_story_ci/application/controllers/Story.php on line 27 and exactly 2 expected

Filename: /Applications/MAMP/htdocs/success_story_ci/system/database/DB_driver.php

Line Number: 1444

Backtrace:

File: /Applications/MAMP/htdocs/success_story_ci/application/controllers/Story.php
Line: 27
Function: insert_string

File: /Applications/MAMP/htdocs/success_story_ci/index.php
Line: 315
Function: require_once

контроллера story / saveata.php

class Story extends CI_Controller {

    public function savedata(){

        echo 'at save page';
        var_dump($this->input->post());

        if(!empty($this->input->post())){

            $data = array('title' => $this->input->post('title'),
                          'Clust_det' => $this->input->post('Clust_det'),
                          'need_of_the_activity' => $this->input->post('need_of_the_activity'),
                          'intervention' => $this->input->post('intervention'),
                          'impact' => $this->input->post('impact'),
                          'Key_Shareholders' => $this->input->post('Key_Shareholders'),
                          'beneficiaries' => $this->input->post('beneficiaries'),
                          'activity_det' => $this->input->post('activity_det'),
                          'reference_contact' => $this->input->post('reference_contact'),
                          'image' => $this->input->post('image')
                          );

            var_dump($data);
            $res = $this->db->insert_string($data);
            return true;
        }

    }

    public function Form_data() {

        $config['upload_path'] = './images/';
        $config['allowed_types'] = 'gif|jpg|png';
        $config['max_size'] = 2000;
        $config['max_width'] = 1500;
        $config['max_height'] = 1500;

        $this->load->library('upload', $config);

        if (!$this->upload->do_upload('image')) {

            $error = array('error' => $this->upload->display_errors());
            $this->load->view('index.php/form', $error);
        } else {

            $data = array('image_metadata' => $this->upload->data());
            $this->load->view('files/upload_result', $data);
        }
    }

}

Код автозагрузки:

$autoload['model'] = array('blog'=>'Blog');

контроллерof form.php

class Form extends CI_Controller {

        public function index()
        {
                $this->load->helper(array('form', 'url'));

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

                if ($this->form_validation->run() == FALSE)
                {
                        $this->load->view('myform');
                }
                else
                {
                        $this->load->view('formsuccess');
                }
        }
}

представление формы отправки

<body>

<?php echo validation_errors(); ?>

<form method="POST" action="../../index.php/Story/savedata" enctype="multipart/form-data">

    <h4>Success Story</h4>

    <h5>Title</h5>
    <input type="text" name="title" value="" size="50" />

    <h5>Cluster Detail</h5>
    <textarea name="Clust_det" value="" size="50" >

    </textarea>

    <h5>Need of the activity</h5>
    <textarea name="need_of_the_activity" value="" size="50">

    </textarea>

    <h5>Intervention</h5>
    <textarea type="text" name="intervention" value="" size="50">

    </textarea>

    <h5>Impact</h5>
    <textarea type="text" name="impact" value="" size="50">

    </textarea>

    <h5>Key shareholders</h5>
    <textarea type="text" name="Key Shareholders" value="" size="50">

    </textarea>

    <h5>Beneficiaries</h5>
    <textarea type="text" name="beneficiaries" value="" size="50">

    </textarea>

    <h5>Activity Details</h5>
    <textarea type="text" name="activity_det" value="" size="50">

    </textarea>

    <h5>Reference Contact</h5>
    <textarea type="text" name="reference_contact" value="" size="50">

    </textarea>

    <br>
    <h5>Upload image</h5>
    <input type="file" name="slideshow_image" />

    <br /><br />

    <div><input type="submit" value="Submit" /></div>

</form>

</body>

Мне нужен код для отправки данных формы в базу данных PostgreSQL с каркасом codeigniter.

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