【问题标题】:Can't insert in database with Codeigniter无法使用 Codeigniter 插入数据库
【发布时间】:2016-05-13 06:57:30
【问题描述】:

我正在尝试添加一个表(事务)中的所有内容,然后尝试将所有总计插入另一个表(reports_daily),但没有插入任何内容。

transaction.php

 public function index()
 {
      $this->load->model('transactions_model');  
      $transresult = $this->transactions_model->get_transactions_list();           
      $data['translist'] = $transresult;
      $this->load->view('transactions_view',$data);
 }
 function create() {

     $transresult = $this->transactions_model->get_transactions_list();           
      $data['translist'] = $transresult;
        $sum=0;
        $items=0;
        $orders=0;
        $date=$translist[0]->date_d;
        for ($i=0; $i<count($translist); ++$i){
          $sum += $translist[$i]->total_amount;
          $items += $translist[$i]->no_items;
          $orders++;
        }
      $data = array(
        'date_d' => $date,
        'total_items' => $items,
        'total_orders' => $orders,
        'total_sales' => $sum
      );
      //$this->db->set($data);
      //$this->db->insert('reports_daily', $data);
      $this->transactions_model->insert_reports($data);
      $this->index();


  }

transactions_model.php

 function get_transactions_list()
 {
      $sql = 'select * from transactions order by date_d desc';
      $query = $this->db->query($sql);
      $result = $query->result();
      return $result;
 }
 function insert_reports($data) 
 {
      $this->db->insert('reports_daily', $data);
      return;
 }

帮助:(

【问题讨论】:

  • 使用 $this-&gt;db-&gt;last_query() 回显您的查询并查看错误
  • 你检查错误日志了吗?
  • 没有错误:(
  • $translist 未定义为在 create() 方法中使用。 $translistarray 和 $transresult 对象之间似乎存在混淆。
  • 这段代码还有更多有趣的地方。例如,$date 变量的用途是什么?

标签: php database codeigniter


【解决方案1】:

$translist 在控制器上不存在。所以用$transresult[0]代替$translist[0];

function create() {

 $transresult = $this->transactions_model->get_transactions_list();           

    $sum=0;
    $items=0;
    $orders=0;
    $date = $transresult[0]->date_d;
    for ($i=0; $i<count($translist); ++$i){
      $sum += $translist[$i]->total_amount;
      $items += $translist[$i]->no_items;
      $orders++;
    }
  $data = array(
    'date_d' => $date,
    'total_items' => $items,
    'total_orders' => $orders,
    'total_sales' => $sum
  );
  //$this->db->set($data);
  //$this->db->insert('reports_daily', $data);
  $this->transactions_model->insert_reports($data);
  $this->index();

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多