CodeIgniter – Problema con las comillas

Uno de los problemas que más sufrimos a la hora de desarrollar son las comillas, las simples y las dobles. Cuando montas la consulta en el modelo, hay que vigilar cómo trabajas.

Una consulta en codeigniter podría ser:

$sql= "UPDATE empresa SET Razonsocial='". $this->input->post("razonsocial") ."' WHERE id=". $id;

Pero aquí tenemos un problema: imaginad que la razón social que viene del formulario, tiene una comilla simple. Cómo quedaría la consulta:

$sql= "UPDATE empresa SET Razonsocial='Ricki's Mortimore' WHERE id=". $id;

La consulta daría error. La comilla simple del campo haría que la consulta no se pudiera ejecutar. Para solucionarlo CodeIgniter proporciona una función muy útil que nos ahorrará tiempo y dolores de cabeza:

$sql= "UPDATE empresa SET Razonsocial=". $this->db->escape($this->input->post("razonsocial")) ." WHERE id=". $id;

Aquí tenemos dos novedades:

  • Por una parte, la función escape. Ésta se encarga de ‘limpiar’ las comillas que tengamos,
  • Por otra parte, debemos fijarnos que las comillas simples que ponemos en la consulta, desaparecen. Es muy importante. La función escape() se encarga de todo. Debemos poner Razonsocial=$this->db->escape() . Sin comillas.

Pues nada, espero que os sea de utilidad, y podáis solucionar los problemas de comillas.

Información relacionada

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*