У меня проблема с веб-сайтом, созданным с помощью CodeIgniter (я не являюсь разработчиком, унаследованным предыдущим работодателем). Этот веб-сайт не может работать должным образом, особенно при загрузке изображения, и показывает предупреждение о
Номер ошибки: 1048 Столбец «article_image» не может быть нулевым
Я пытался найти проблему в скрипте и базе данных, но ничего не изменилось, поскольку никто не менял коды и содержимое. Сегодня я снова пытаюсь изменить «Ноль» на «Да» (ранее было «Нет») и попытался загрузить статью. Это чудо, что он работает, но следующая проблема заключается в том, что изображение пропало (сломано).
После некоторых исследований я считаю, что рекомендуется обновить CodeIgniter с 3.0.0 до 3.1.10 (последняя версия). Я копирую и вставляю содержимое внутри /System и /views/error/cli, не улучшая, а ухудшая, изображение на веб-странице пропало (отсутствует).
Это моя модель_статьи
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
У меня проблема с веб-сайтом, созданным с помощью CodeIgniter (я не являюсь разработчиком, унаследованным предыдущим работодателем). Этот веб-сайт не может работать должным образом, особенно при загрузке изображения, и показывает предупреждение о
Номер ошибки: 1048 Столбец «article_image» не может быть нулевым
Я пытался найти проблему в скрипте и базе данных, но ничего не изменилось, поскольку никто не менял коды и содержимое. Сегодня я снова пытаюсь изменить «Ноль» на «Да» (ранее было «Нет») и попытался загрузить статью. Это чудо, что он работает, но следующая проблема заключается в том, что изображение пропало (сломано). После некоторых исследований я считаю, что рекомендуется обновить CodeIgniter с 3.0.0 до 3.1.10 (последняя версия). Я копирую и вставляю содержимое внутри /System и /views/error/cli, не улучшая, а ухудшая, изображение на веб-странице пропало (отсутствует). Это моя модель_статьи [code]defined('BASEPATH') OR exit('No direct script access allowed'); [/code] [code]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');
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)); } } } } [/code] Что мне делать? Я сделал резервную копию, но она осталась такой же, как и после обновления. Я почти забыл, это то, что выдается после того, как я проверил это, см. $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