无法使用php-(codeigniter)从表单中将数据插入到mysql中

时间:2016-04-20 20:53:07

标签: php database codeigniter

我是Codeigniter的初学者。如何使用codeigniter将表单值存储在mysql中,任何人都可以帮助我。我试过这里也一样点击这里。但是,当我运行并填写表格时,我得到错误404.Thanks提前。这是代码:

mysql代码:

const_cast

模型:

   CREATE TABLE `meal` (
  `id` int(11) NOT NULL,
  `name` varchar(50) NOT NULL,
  `unit_price` decimal(50,0) NOT NULL,
  `description` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

视图:

<?php
class insert_model extends CI_Model{
function __construct() {
parent::__construct();
}
function form_insert($data){
// Inserting in Table(meal) of Database(cl36-smart)
$this->db->insert('meal', $data);
 }
 }
?>
   
<!DOCTYPE html>
   <html>
   <head>  


<title>Add Meal</title>
</head>
<body>

<div id="container">

<?php echo form_open('site'); ?>
   <h2> add meal by filling the brackets  bellow  </h2>
   <?php if (isset($message)) { ?>
   <CENTER><h3 style="color:green;">Data inserted successfully</h3></CENTER>   <br>

控制器:

<?php echo form_label('Meal Name:');?><br/> 
<?php echo form_input(array('id' => 'name', 'name' => 'name'));  ?><br>
<?php echo form_label('Unit Price:');?><br/>
<?php echo form_input(array('id' => 'unit_price', 'name' => 'unit_price'));    ?><br/>    
<?php echo form_label('Description:');?><br/>
<?php echo form_input(array('id' => 'description', 'name' => 'description')); ?><br/>
<?php echo form_submit(array('id' => 'submit', 'value' => 'Add')); ?><br/>
<?php echo form_close(); ?>


</div>


</body>


</html>

2 个答案:

答案 0 :(得分:0)

几乎一切都很好,只有一些句子的位置在你的控制器中是错误的

 public function index(){
    $this->load->view('view_form');

    $data = array(
                  'name'        => $this->input->post('name'),
                  'unit_price'  => $this->input->post('unit_price'),
                  'description' => $this->input->post('description')    
                 );

   $this->load->view('view_form', $data);

   $this->insert_model->form_insert($data);
   $data['message'] = 'Data Inserted Successfully';
 }

要      公共职能指数(){         $这 - &GT;负载&gt;查看( 'view_form');

    $data = array(
                  'name'        => $this->input->post('name'),
                  'unit_price'  => $this->input->post('unit_price'),
                  'description' => $this->input->post('description')    
                 );

   $this->insert_model->form_insert($data);
   $data['message'] = 'Data Inserted Successfully';    

   $this->load->view('view_form', $data);
 }

如果没有,你需要在最后调用视图,永远不会调用模型。

答案 1 :(得分:0)

试试这个:

首先进入application-&gt; config-&gt; database.php,如果你已经设置了mysql然后删除它并使用** mysqli **

在您的模型构造函数中,您必须添加$ this-&gt; load-&gt; database();