【问题标题】:Cannot INSERT data into mysql using php-(codeigniter)无法使用 php-(codeigniter) 将数据插入 mysql
【发布时间】:2015-03-28 04:10:08
【问题描述】:

chat.php(控制器)

   function chat_insert(){
     $this->load->model('chat/chat_model');
     try{ $data = array(
     $this->chat_model->chat_inserting($data);
    }
     catch (Exception $exc){
    return $exc->getTraceAsString();
  }
  }

这里的控制器类我调用模型类并在这里调用.js 文本数据....

chat.php-(模型)

  function chat_inserting($data){
    try{
     $this->db->insert('comments',$data);
    }
    catch (Exception $exc){
 return $exc->getTraceAsString();
}

}

chat.js(javascript)

function set_msg(){
   var type = $('#txtmsg').val();
   $.ajax({
         type: 'post',
        url: 'chat_insert',
        data: {'text':type},
        success: function (data) {
        },
        error:function(data){
            alert('error');
        }
       });
       }

chat1.php(查看) 查看插入数据的代码

         <tr>
         <td style="width: 310px">
                <input class="form-control input-sm"  id="txtmsg"       style="width: 350px" type="text" name="txtmsg" /></td>
            <td style="width: 85px">
                <input class="btn btn-warning"  id="Submit2" style="font-family: verdana, arial" type="button" value="Send" onclick="set_msg()"/></td>
            </tr>

【问题讨论】:

  • 什么是错误信息??
  • 认为您的错误在于传递数据。检查那个。以上代码没有错
  • 是的.. 首先我创建 Formget.com 示例。那一个工作......没有错误......但我的一个不工作...... k....无论如何谢谢你......先生
  • 检查您的数据传递。问题就在那里。

标签: php sql codeigniter


【解决方案1】:

在 try 块中创建 $data 时,控制器中出现 PHP 错误。您必须关闭 array() 并将所需的数据传递给它。

function chat_insert() {

    $this->load->model('chat/chat_model');
    try{ 
        // Get Ajax Posted Data
        $text = $this->input->post('text');

        // Add msg to database
        $data = array('database_field_name'=>$text);
        $this->chat_model->chat_inserting($data);

        // Return Response
        $this->output->set_content_type("application/json")
                     ->set_output(json_encode(array('status'=>true)));
    }
    catch (Exception $exc){
        return $exc->getTraceAsString();
    }
}

在 JavaScript 中,在框架中传递控制器的完整 url 是一种很好的做法。

function set_msg(){

   var type = $('#txtmsg').val();
   $.ajax({
      type: 'post',
      url: '//'+window.location.host+'/CONTROLLER_NAME/chat_insert',
      data: {'text':type}, 
      dataType: 'json', 
      success: function (response) {
          if( response.status === true ) {
             // Success msg
          }
          else {
            // Error msg
          }
      },
      error:function(data){
        alert('error');
      }
   });
}

【讨论】:

  • 感谢您的评论......但它也不起作用......还有其他选择......?
  • @amaya 你有什么错误吗?你检查浏览器控制台了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多