CodeIgniter внезапно не может загрузить изображение, а запрос INSERT сообщает, что столбец не может иметь значение NULL.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 CodeIgniter внезапно не может загрузить изображение, а запрос INSERT сообщает, что столбец не может иметь значение NULL.

Сообщение Anonymous »

У меня проблема с веб-сайтом, созданным с помощью CodeIgniter (я не являюсь разработчиком, унаследованным предыдущим работодателем). Этот веб-сайт не может работать должным образом, особенно при загрузке изображения, и показывает предупреждение о

Номер ошибки: 1048 Столбец «article_image» не может быть нулевым

Я пытался найти проблему в скрипте и базе данных, но ничего не изменилось, поскольку никто не менял коды и содержимое. Сегодня я снова пытаюсь изменить «Ноль» на «Да» (ранее было «Нет») и попытался загрузить статью. Это чудо, что он работает, но следующая проблема заключается в том, что изображение пропало (сломано).
После некоторых исследований я считаю, что рекомендуется обновить CodeIgniter с 3.0.0 до 3.1.10 (последняя версия). Я копирую и вставляю содержимое внутри /System и /views/error/cli, не улучшая, а ухудшая, изображение на веб-странице пропало (отсутствует).
Это моя модель_статьи

Код: Выделить всё

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

Код: Выделить всё

class Article_model extends CI_Model
{

public function get_all()
{
// $this->db->order_by('article_date', 'desc');
// $this->db->order_by('article_view', 'desc');
// $query = $this->db->get_where('article', array('flag !=' => 3));
// return $query->result_array();
$query = $this->db->query("SELECT A.*,B.*, A.id AS id_article FROM article AS A JOIN category B ON A.article_category = B.id WHERE A.flag != 3 ORDER BY article_date DESC, article_view DESC ");
return $query->result_array();

}

public function check($article_id)
{
$query = $this->db->get_where('article', array('flag !=' => 3, 'id' => $article_id));
return $query->row_array();
}

public function get_category()
{
$query = $this->db->order_by('category_name', 'ASC')->get_where('category', array('flag' => 1));
return $query->result_array();
}

public function get_tag()
{
$query = $this->db->order_by('tag_name', 'ASC')->get_where('tag', array('flag' => 1));
return $query->result_array();
}

public function get_selected_tag($article_id)
{
$query = $this->db
->select('tag.id, tag_name')
->join('article_tag', 'tag_id = tag.id')
->where(array('tag.flag' => 1, 'article_id' => $article_id))
->get('tag');

return $query->result_array();
}

public function insert()
{
$this->load->helper('upload');
$this->load->library('image_moo');

$image = file_upload('article_image', 'upload/article');

$this->image_moo->load($image['full_path']);
$this->image_moo->resize(924, 527)->save($image['path'] . '/' . $image['file_name'], TRUE);
$this->image_moo->resize_crop(100, 69)->save($image['path'] . '/thumb/' . $image['file_name']);
$this->image_moo->resize_crop(367, 232)->save($image['path'] . '/cover/' .  $image['file_name']);

$insert_data = array(
'article_author'    => $this->session->admin_id,
'article_title'     => $this->input->post('article_title'),
'article_slug'      => url_title($this->input->post('article_title'), '-', TRUE),
'article_category'  => $this->input->post('article_category'),
'article_image'     => $image['file_name'],
'article_content'   => $this->input->post('article_content'),
'is_popup'          => $this->input->post('is_poup'),
'article_date'      => $this->input->post('article_date'),
);

$this->db->insert('article', $insert_data);
$article_id = $this->db->insert_id();

foreach ($this->input->post('article_tag') as $tag)
{
// Check apakah tag itu udah ada di database?
if (is_numeric($tag))
{
$tag_id = $tag;
}
else
{
$this->db->insert('tag', array('tag_name' => strtolower(trim($tag)), 'tag_slug' => url_title(trim($tag), '-', TRUE)));
$tag_id = $this->db->insert_id();
}

if ( ! $this->db->get_where('article_tag', array('article_id' => $article_id, 'tag_id' => $tag_id))->row_array())
{
$this->db->insert('article_tag', array('article_id' => $article_id, 'tag_id' => $tag_id));
}
}
}

public function update($id)
{
$this->load->helper('upload');
$this->load->library('image_moo');

$image = file_upload('article_image', 'upload/article');

$this->image_moo->load($image['full_path']);
$this->image_moo->resize(924, 527)->save($image['path'] . '/' . $image['file_name'], TRUE);
$this->image_moo->resize_crop(100, 69)->save($image['path'] . '/thumb/' . $image['file_name']);
$this->image_moo->resize_crop(367, 232)->save($image['path'] . '/cover/' . $image['file_name']);

$insert_data = array(
'article_author'    => $this->session->admin_id,
'article_title'     => $this->input->post('article_title'),
'article_slug'      => url_title($this->input->post('article_title'), '-', TRUE),
'article_category'  => $this->input->post('article_category'),
'is_popup'          => $this->input->post('is_popup'),
'article_content'   => $this->input->post('article_content'),
'article_date'      => $this->input->post('article_date'),
);

if ($image)
{
$insert_data['article_image'] = $image['file_name'];
}

$article_id = $id;

$this->db->where('id', $id);
$this->db->update('article', $insert_data);

$this->db->where('article_id', $id);
$this->db->delete('article_tag');

foreach ($this->input->post('article_tag') as $tag)
{
// Check apakah tag itu udah ada di database?
if (is_numeric($tag))
{
$tag_id = $tag;
}
else
{
$this->db->insert('tag', array('tag_name' => strtolower(trim($tag)), 'tag_slug' => url_title(trim($tag), '-', TRUE)));
$tag_id = $this->db->insert_id();
}

if ( ! $this->db->get_where('article_tag', array('article_id' => $article_id, 'tag_id' => $tag_id))->row_array())
{
$this->db->insert('article_tag', array('article_id' => $article_id, 'tag_id' => $tag_id));
}
}
}
}
Что мне делать? Я сделал резервную копию, но она осталась такой же, как и после обновления.
Я почти забыл, это то, что выдается после того, как я проверил это, см. $this->db->insert('article', $insert_data);:

Произошла ошибка базы данных
Номер ошибки: 1048
Столбец 'article_image' не может быть нулевым
INSERT INTO `article` (`article_author`, `article_title`, `article_slug`, `article_category`, `article_image`, `article_content`, `is_popup`, `article_date`) ЗНАЧЕНИЯ ('1', 'testing', 'testing', '5', NULL, '
test test
', NULL, '2019-04-11')
Имя файла: models/admin/Article_model.php
Номер строки: 69


Подробнее здесь: https://stackoverflow.com/questions/556 ... that-a-col
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»