Почему бы вам просто не закодировать свои данные и не отправить их.
$this->db->insert($table_name, encode($data));
или
$data = array();
$data = encode($data);
$this->db->insert($table_name, $data);
или
$data = array();
$data = 'ENCODE('. $data .')';
$this->db->insert($table_name, $data);
ИЗДАНО ЗДЕСЬ:
Функция MYSQL Encode (), как следует из названия, кодирует данные, затем вы дешифруете эти данные, используя обратную функцию.
Мое предложение было бы использовать что-то простое, например base64_encode, которое работает по тому же принципу с функцией обратного, base64_decode.
В этом случае вы должны использовать следующий код: РЕШЕНИЕ 1
CI контроллер:
// ENCODING
$data_array = array('id' => 1, 'name' => 'Juan Dela Cruz');
$serialized = serialize($data_array);
$encoded = base64_encode($serialized);
$this->load->model('data_mdl');
$this->data_mdl->_insert($encoded);
// DECODING
$encoded = //DO QUERY HERE TO GET ENCODED DATA;
$decoded = base64_decode($encoded);
$unserialized = unserialize($decoded);
CI модель:
public function _insert($data) {
return $this->db->insert($table_name, $data);
}
Вы также можете использовать встроенную библиотеку шифрования CI: РЕШЕНИЕ 2
Более подробную информацию можно найти здесь: https://www.formget.com/codeigniter-encrypt/