#php #database #codeigniter #phpmyadmin
#php #База данных #codeigniter #phpmyadmin
Вопрос:
Произошла ошибка базы данных
Номер ошибки: 1146
Таблица ‘gtv.1tbpost’ не существует
ВСТАВИТЬ В
1tbpost
(post_title
) ЗНАЧЕНИЯ («)Имя файла: C:/xampp/htdocs/1/system/database/DB_driver.php
Номер строки: 691
database.php /
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'gtv',
'dbdriver' => 'mysqli',
'dbprefix' => '1',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Модель:
public function add(){
$data=array(
'post_title'=>$this->input->post('title'),
);
$this->db->insert('tbpost',$data);
}
контроллер:
public function add_validate(){
$this->load->library('form_validation');
$this->form_validation->set_rules('title', 'Title', 'trim|required|min_length[6]|regex_match[/^[A-Za-z0-9 .] $/]');
$this->form_validation->set_rules('image', 'Image', 'trim');
$this->form_validation->set_rules('text', 'Text', 'trim|required|min_length[2]');
$this->form_validation->set_message('required', '%s is required.');
$this->form_validation->set_message('min_length', 'minimum characters for %s is %s');
$this->form_validation->set_message('regex_match', '%s is not in the correct format');
if($this->form_validation->run() == FALSE){
if($this->input->post('add') == "post"){
$this->gtvmod->add();
}else if($this->input->post('add') == "save"){
$this->index();
}else if($this->input->post('add') == "cancel"){
$this->index();
}else{
$this->index();
}
}else{
if($this->input->post('add') == "post"){
$this->add();//punta model
}else if($this->input->post('add') == "save"){
$this->index();//punta model
}else if($this->input->post('add') == "cancel"){
$this->index();//punta model
}else{
$this->index();//punta model
}
}
}
проблема Я указываю, что моей таблицей является ‘tbpost’, но ошибка говорит о том, что я вставляю в таблицу ‘1tbpost’ .
Комментарии:
1. выполняете ли вы другие успешные вставки в другом месте приложения?
2. @charlietfl Я только начинаю codeigniter
3. отлично… просто любопытно, есть ли у вас какие-либо другие вставки базы данных, работающие или выбранные даже в этом отношении. Что-то где-то неправильно настроено … не уверен, где, хотя
4. Покажите нам свой /application/config/database.php содержание
5. имя таблицы в сообщении об ошибке и запросе вставки выглядит иначе
Ответ №1:
В вашем database.php у вас есть 'dbprefix' => '1',
, и вам нужно изменить его на 'dbprefix' => '',
Ответ №2:
вы вызвали несуществующую таблицу в своей базе данных, поэтому проверьте имена таблиц, которые вы вызвали.
если у вас есть библиотека проверки формы, проверьте правила, возможно, имя таблицы там скрыто, ха-ха
расслабьтесь и наслаждайтесь программированием!