Попытка вставить строку в мою базу данных с помощью CodeIgniter.
моя таблица базы данных – Customer_Orders
а поля – CustomerName
и OrderLines
. Переменные передаются правильно.
Мой контроллер (sales.php):
function new_blank_order_summary() { $data = array( 'OrderLines'=>$this->input->post('orderlines'), 'CustomerName'=>$this->input->post('customer') ); $this->sales_model->order_summary_insert($data); $this->load->view('sales/new_blank_order_summary'); }
Моя модель (sales_model.php):
function order_summary_insert($data){ $this->db->insert('Customer_Orders',$data); }
Пока представление загружается правильно, данные не вставляются в базу данных.
Любые идеи относительно того, почему нет?
Заранее спасибо.
попробуйте это в своей модели.
function order_summary_insert() $OrderLines=$this->input->post('orderlines'); $CustomerName=$this->input->post('customer'); $data = array( 'OrderLines'=>$OrderLines, 'CustomerName'=>$CustomerName ); $this->db->insert('Customer_Orders',$data); }
попробуйте использовать контроллер только для управления представлением, и модели всегда публикуют ваши значения в модели. это легко понять. вы будете
function new_blank_order_summary() { $this->sales_model->order_summary_insert($data); $this->load->view('sales/new_blank_order_summary'); }
Основываясь на том, что я вижу здесь, вы использовали строчные имена полей в массиве $ data и верхние поля в таблице базы данных.
Вам будет лучше написать свой код, как это.
В своем контроллере напишите этот код.
function new_blank_order_summary() { $query = $this->sales_model->order_summary_insert(); if($query) { $this->load->view('sales/new_blank_order_summary'); } else { $this->load->view('sales/data_insertion_failed'); } }
и в вашей модели
function order_summary_insert() { $orderLines = trim(xss_clean($this->input->post('orderlines'))); $customerName = trim(xss_clean($this->input->post('customer'))); $data = array( 'OrderLines'=>$orderLines, 'CustomerName'=>$customerName ); $this->db->insert('Customer_Orders',$data); return ($this->db->affected_rows() != 1) ? false : true; }
function saveProfile(){ $firstname = $this->input->post('firstname'); $lastname = $this->input->post('lastname'); $post_data = array('firstname'=> $firstname,'lastname'=>$lastname); $this->db->insert('posts',$post_data); return $this->db->insert_id(); }
Посмотреть
<input type="text" name="name"/> <input type="text" name="class"/>
контроллер
function __construct() { parent:: __construct(); $this->load->Model('Model'); } function index() { $this->load->view('view'); } function user(){ if (isset($_POST['submit'])){ $data = array('name'=>$_POST['name'], 'class'=>$_POST['class']); $this->Model->insert($data); } }
Модель
function insert($data) { $this->db->insert('table_name',$data); return true; }
function order_summary_insert() $OrderLines=$this->input->post('orderlines'); $CustomerName=$this->input->post('customer'); $data = array( 'OrderLines'=>$OrderLines, 'CustomerName'=>$CustomerName ); $this->db->insert('Customer_Orders',$data); }
Проверьте свой контроллер:
function order() $OrderLines = $this->input->post('orderlines'); $CustomerName = $this->input->post('customer'); $data = array( 'OrderLines' => $OrderLines, 'CustomerName' =>$CustomerName ); $this->db->insert('Customer_Orders', $data); }