From what I understand using $this->db->insert() escapes the values:
http://codeigniter.com/user_guide/database/active_record.html#insert
Note: All values are escaped automatically producing safer queries.
But when I look into mysql, my inputs are not escaped, is it for some reason removed some how?
Worried about sql injections here, thats why I’m asking.
When you escape a string for SQL statements it doesn’t necessarily mean that you should see backslashes added when you look into the data later. It means that certain characters will be escaped and the SQL statement will run without any errors. Try inserting data with mysql_real_escape_string
And then
The string is passed through mysql_real_escape_string or addslashes. Hence, we can say that safety measures against SQL injections are taken into account.