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 – Ejemplo Hello World Siguiendo con el post de qyer, os adjunto un pequeño vídeo demostrativo de la programación con el Framework PHP llamado CodeIgniter. El ejemplo es el ...
CodeIgniter – Ver si el navegador soporta di... Cuando instalamos un navegador en nuestro sistema operativo, lo hacemos en un idioma. Así, cuando navegamos, nuestro navegador lo hace en un idioma u ...
Integrar Boilerplate en CodeIgniter Sencillo videotutorial donde explica cómo integrar Boilerplate a un nuevo proyecto PHP creado sobre CodeIgniter. Utiliza como editor Eclipse y crea un...
CodeIgniter – Tiempo expiración de las sesio... Este es uno de esos artículo breves y que no tienes en cuenta, hasta que surge el problema. Haces la aplicación con Codeigniter, trabajas con sesiones...

Deja un comentario

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

*