如何从$ this-> db-> insert('history',$ data)获取SQL字符串并将其发送到db codeigniter?

时间:2019-03-24 10:26:06

标签: sql codeigniter

在数据库的插入或获取功能上,我得到空结果。 我想获得由codeigniter构建的sql字符串,以将其直接放入mysql并检查查询是否出了问题。

问题是:

  • 如何获取由CI Query Builder构建的SQL字符串?
  • 如果查询中发生任何错误,如何获取错误消息?

我尝试了这些但没有成功

  • $ this-> db-> error();
  • $ this-> db-> _ error_message();
  • $ this-> db-> _ error_number();
$data = file_get_contents("php://input");
$dec_data = json_decode($data);
$request = $this->Book_model->insert_transcation($data_req);

$data_hist = $this->get_data_transaction($request);

$this->db->insert('trans_history', $data_hist);

 function get_data_transaction($filter)
    {
            $this->db->select('*,'
                . '(promo_credit) as promo_credit');
            $this->db->from('transaction');
            $this->db->where($filter);
            $res = $this->db->get();
            return $res;

        }

将用户请求放入称为事务的表中,然后交叉检查是否有任何可用于该事务的提升。并将此数据放入用户历史记录表中。

但是我得到的get_data_transaction值为空。我想用SQL检查数据库。

1 个答案:

答案 0 :(得分:1)

echo $this->db->last_query(); 

在CI执行的每个查询(如插入或获取)之后。您将拥有最后执行的查询的SQL字符串。