2016-02-25 52 views
-1

這是控制檯的錯誤我得到 mysql_real_escape_string():mysql擴展已被棄用,並將在未來 被刪除:使用庫MySQLi或PDO來代替。這個錯誤我得到了Datatable庫文件。任何人都知道是什麼問題?獲取控制檯錯誤:使用時mysql_real_escape_string()點燃的DataTable笨

我控制器

public function manageuser() 
     { 
      $tmpl = array ('table_open' => '<table id="big_table" border="1" cellpadding="2" cellspacing="1" class="mytable">'); 
      $this->table->set_template($tmpl); 

      $this->table->set_heading('First Name','Last Name','Email'); 

      $this->load->view('moderator/manageuser'); 
     } 
     public function datatable() 
     { 

      $this->datatables 
      ->select("mro_id,mro_name,mctg_name,mctg_id") 
      ->from('jil_mroproducts') 
      ->join('jil_mrocategory', 'jil_mroproducts.mro_category=jil_mrocategory.mctg_id', 'INNER') 
      ->edit_column('mro_name', '<a href="User/edit/$1">$2</a>', 'mro_id, mro_name'); 
      //->unset_column('mro_id'); 
      echo $this->datatables->generate();  
     } 

我查看

<html> 
<head> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<title>Subscriber management</title> 
<meta http-equiv="content-type" content="text/html;charset=UTF-8"> 
<link rel="stylesheet" href="<?php echo base_url();?>assets/css/datatable.css" type="text/css" media="screen"/> 
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/ui-lightness/jquery-ui.css" type="text/css" media="screen"/> 
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/jquery.dataTables.min.js"></script> 
</head> 
<body> 
<div class="wrapper"> 
<script type="text/javascript"> 
     $(document).ready(function() { 
    var oTable = $('#big_table').dataTable({ 
     "bProcessing": true, 
     "bServerSide": true, 
     "sAjaxSource": '<?php echo base_url(); ?>moderator/User/datatable', 
       "bJQueryUI": true, 
       "sPaginationType": "full_numbers", 
       "iDisplayStart ":20, 
       "oLanguage": { 
      "sProcessing": "<img src='<?php echo base_url(); ?>assets/images/ajax-loader_dark.gif'>" 
     }, 
     "fnInitComplete": function() { 
       //oTable.fnAdjustColumnSizing(); 
     }, 
       'fnServerData': function(sSource, aoData, fnCallback) 
      { 
       $.ajax 
       ({ 
       'dataType': 'json', 
       'type' : 'POST', 
       'url'  : sSource, 
       'data' : aoData, 
       'success' : fnCallback 
       }); 
      } 
    }); 
}); 
</script> 
<h1>Subscriber management</h1> 
<?php echo $this->table->generate(); ?> 
    </div> 
</body> 

</html> 

我用這個代碼的數據表。

http://www.ahmed-samy.com/php-codeigniter-full-featrued-jquery-datatables-part-2/ 
+0

我得到溶液....我使用此代碼$ SSEARCH = $這個 - > Cl - > DB-> escape_like_str($這 - > Cl - >輸入 - >交的( 'SSEARCH') ); – Angel

回答

1

代碼使用mysql_real_escape_string()在庫中,以便它被棄用。

  1. 您必須刪除mysql_real_escape_string()從代碼並使用您的自定義代碼。

  2. 否則,您必須使用mysqli driver for codeigniter。 然後你可以使用mysqli_real_escape_string()。

CodeIgniter switching driver from mysql --> mysqli

更新:新增以下天使的解決方案。

$sSearch =$this->ci->db->escape_like_str($this->ci->input->post('sSearch')); 
+1

我得到了解決方案....我用這個代碼$ sSearch = $ this-> ci-> db-> escape_like_str($ this-> ci-> input-> post('sSearch')); – Angel