Я написал код для запроса на вставку, и единственная ошибка в этом случае, когда я вставляю в 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.