Как получить строку SQL из $this-> db-> insert(‘history’, $data), которая создается и отправляется в базу данных codeigniter?

#sql #codeigniter

#sql #codeigniter

Вопрос:

При вставке или получении функции БД я получаю пустой результат. Я хотел получить сборку строки sql с помощью codeigniter, чтобы поместить ее непосредственно в mysql и проверить запрос, если что-то пойдет не так или нет.

Вопросы:

  • Как я могу получить сборку строки SQL с помощью CI Query Builder?
  • Как я могу получить сообщения об ошибках, если в запросе возникает какая-либо ошибка?

Я пробовал это без успеха

  • $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;

        }
  

Запрос пользователя помещается в таблицу под названием transaction, затем перекрестно проверяется, доступно ли какое-либо продвижение для транзакции. и эти данные помещаются в таблицу user history.

Но я получаю пустое значение для get_data_transaction. Я хотел свериться с БД с помощью SQL.

Ответ №1:

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

после каждого запроса, выполняемого CI, например insert или get. у вас будет строка SQL последнего выполненного запроса.