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.

Artículos relacionados

CodeIgniter – Generar imagen con librería GD... Estamos delante de un caso muy común: debemos crear una imagen, formato jpg o png, dinámica y que contenga datos dinámicos. Imaginemos que debemos mos...
CodeIgniter – ID del último registro inserta... En muchas ocasiones, cuando insertamos un registro en la base de datos, nos interesa saber que identificador se le ha asignado. Bien, veamos cómo se h...
Codeigniter – Obligar a cargar página sin ut... En varias ocasiones, necesitaremos que una página no se guarde en caché. El tipo ejemplo es cuando vamos de una página a otra, y pulsamos posteriormen...
Frameworks para php Cuando hay que crear proyectos serios hay que recurrir a un Framework que lo apoye. La palabra seriedad la aplico a proyectos medianos-grandes que nec...

Deja un comentario

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

*