【问题标题】:Call to a member function row() on a non-object when updating a table更新表时调用非对象上的成员函数 row()
【发布时间】:2015-02-16 01:54:33
【问题描述】:

我正在使用 codeigniter 开发我的应用程序。我正在使用 jquery 发送一些 json 数据。

这是我的代码: 型号:

public function updateRequest($id_request, $jenis_request, $keluhan ){
    $data= array(
            'jenis_request' => $jenis_request,
            'keluhan' => $keluhan
        );

    $this->db->where('id_request', $id_request);
    $query = $this->db->update('tbl_requestfix', $data);

    return $query->row();

控制器:

public function updateRequest(){
    $id = $_POST['id'];
    $jenis_request = $_POST['jenis_request'];
    $keluhan = $_POST['keluhan'];

    $row = $this->model_request->updateRequest($id, $jenis_request, $keluhan );
    echo json_encode($row);
}

这是使用 ajax 的视图

$('#btn-footer').click(function(e) {
   e.preventDefault();
   var id = $("#mainTitle strong").text().split("/").pop();

   /*get value checkbox*/
   var jenis_request = [];//console.log($("input[name='request[]']"));                                
    $("input[name='request[]']:checked").each(function() {
          //console.log($(this).val());
          jenis_request .push($(this).val());
     });

     jenis_request = jenis_request.join(',');
     alert(jenis_request); //for check

     /*ambil keluhan*/
     var keluhan = $('#modalkeluhan').val();

                $.ajax({
                    url: '<?php echo base_url() . 'control_closing/updateRequest/' ?>',
                    type : 'POST',
                    data : {id : id ,
                            jenis_request : jenis_request,
                            keluhan : keluhan
                           },
                    dataType: 'json',
                    success: function (obj) {
                        console.log(obj);
                    }                                

                });
            });

我收到此错误,调用非对象上的成员函数 row(), 我知道 row() 是一个对象,这是个问题吗?

【问题讨论】:

  • $query-&gt;row() 适用于 select 语句而不适用于 update 查询
  • 那么,我必须使用什么?
  • 你对控制器 $row 函数的 $row 值有什么期望
  • 我只是想看看 json 是否被创建?
  • 因为 html 标记仍然像我使用 jquery ajax == > var keluhan = $('#modalkeluhan').val();

标签: php jquery ajax json codeigniter


【解决方案1】:

这可能对你有帮助

public function updateRequest($id_request, $jenis_request, $keluhan )
{
    $data= array(
        'jenis_request' => $jenis_request,
        'keluhan' => $keluhan
    );

    $this->db->where('id_request', $id_request);
    $query = $this->db->update('tbl_requestfix', $data);
    $affected_rows=$this->db->affected_rows();
    if($affected_rows >0)
    {
        return $affected_rows." rows updated";//return here the way you want
    }
    else
    {
        return "No updates";
    }
}

【讨论】:

  • 谢谢,很有帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-02
相关资源
最近更新 更多