Php 使用ajax将Null插入数据库

Php 使用ajax将Null插入数据库,php,jquery,mysql,ajax,codeigniter,Php,Jquery,Mysql,Ajax,Codeigniter,PHP新手。我的ajax是成功的,但我不明白为什么我的MySQL数据库的每一列都会发布NULL。我的数据库有4列(名称、cap、指定座位、开放座位)。这是一种简单的形式 //Model class My_model extends CI_Model { function __construct() { parent::__construct(); } public function insert_data() {

PHP新手。我的ajax是成功的,但我不明白为什么我的MySQL数据库的每一列都会发布NULL。我的数据库有4列(名称、cap、指定座位、开放座位)。这是一种简单的形式

//Model
class My_model extends CI_Model 
{
    function __construct()
    {
        parent::__construct();
    }    
    public function insert_data()
    {
        $data['name'] = $_POST['tableName'];
        $data['cap'] = $_POST['tableCap'];
        $data['assigned_seating'] = $_POST['assigned_seating'];
        $data['open_seating'] = $_POST['open_seating'];

        $this->db->insert('tables', $data);
    }  
}

//Controller
class Tables extends CI_Controller 
{
  function __construct()
  {
    parent::__construct();
    $this->load->model('My_model');
  }
  public function add()
  {
    $this->load->model('My_model');
    $this->My_model->insert_data();
  }
}

//Ajax
  $(".createTableButton").click(function(e) {
    e.preventDefault();
    var dataToSend = $('#myForm').serialize();
    $.ajax({
      url: "http://localhost/tableseating/tables/add",
      data: dataToSend,
      dataType: 'jsonp',
      method: 'POST',
      success: function()
      {
        console.log("Success");
      },
      error: function()
      {
        console.log("Error");
      }
    });

//HTML
  <form method="post" id="createTableForm" action="">

Table Name<input type="text" id="tableName" name="tableName" /><br>
Seat Cap<br><select type="select" id="tableCap" name="tableCap">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="7">7</option>
  <option value="8">8</option>
  <option value="9">9</option>
  <option value="10">10</option>
  <option value="11">11</option>
  <option value="12">12</option>
  <option value="13">13</option>
  </select><br>

Table Type<br>
<input type="radio" id="openSeating" name="open_seating" checked="checked" required /> Open Seating<br>   
<input type="radio" id="assignedSeating" name="assigned_seating" required /> Assigned Seating<br><br>
<input type='submit' class='createTableButton btn btn-primary' value="Create"/>
        </form>  
//模型
类My_模型扩展了CI_模型
{
函数_u构造()
{
父项::_构造();
}    
公共函数插入_数据()
{
$data['name']=$\u POST['tableName'];
$data['cap']=$\u POST['tableCap'];
$data['assigned_seating']=$_POST['assigned_seating'];
$data['open_SEATION']=$_POST['open_SEATION'];
$this->db->insert('tables',$data);
}  
}
//控制器
类表扩展了CI_控制器
{
函数_u构造()
{
父项::_构造();
$this->load->model('My_model');
}
公共功能添加()
{
$this->load->model('My_model');
$this->My_model->insert_data();
}
}
//阿贾克斯
$(“.createTableButton”)。单击(函数(e){
e、 预防默认值();
var dataToSend=$('#myForm').serialize();
$.ajax({
url:“http://localhost/tableseating/tables/add",
数据:dataToSend,
数据类型:“jsonp”,
方法:“POST”,
成功:函数()
{
控制台日志(“成功”);
},
错误:函数()
{
控制台日志(“错误”);
}
});
//HTML
表名
座椅帽
1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 13
表格类型
开放式座椅
指定座位


必须使用数据类型:“json”(json),请尝试以下操作:

class Tables extends CI_Controller 
{
  function __construct()
  {
    parent::__construct();
    $this->load->model('My_model');
  }
  public function add()
  {
$data = array(
      'name' => $this->input->post('tableName') ,
      'cap' => $this->input->post('tableCap') ,
      'assigned_seating' => $this->input->post('assigned_seating') ,
      'open_seating' => $this->input->post('open_seating') 
   );


   $this->My_model->insert($data);

  }
}
//模型

class My_model extends CI_Model 
{
    function __construct()
    {
        parent::__construct();
    }    
    public function insert_data($data)
    {
      $this->db->insert('tables', $data);
    }  
}

编辑我的答案,您不能使用jsonp通过post发送参数。