Sentencias preparadas

También disponemos de sentencias preparadas que proporcionan más seguridad que las sentencias SQL normales.

Veamos un ejemplo:

$sql = "SELECT L.id, L.isbn, L.titulo, L.precio " . "FROM libros L " .
   "WHERE L.id = ?";
$query = $this->db->query($sql, array($id));
$libro = null;
if ($query->num_rows() == 1)
   $libro = $query->result_array();
//Inserciones utilizando emparejamiento de parámetros
$sql = ''INSERT INTO LIBROS (titulo, precio)
   VALUES (?,?)'';
$this->db->query($sql, array(''El resplandor'',22.45));

Como hemos comentado en sesiones anteriores, las sentencias predefinidas son mucho más seguras porque escapan los datos enviados por el usuario de forma automática, eliminando potenciales problemas de seguridad. CodeIgniter nos proporciona una clase que implementa el patrón Active Record, el cual nos permite interactuar con la base de datos con poco código y además hace mucho más portable nuestra aplicación.

Por ejemplo, con el siguiente código

$query = $this->db->get('libros');

podríamos obtener todos los libros dados de alta en la base de datos.

results matching ""

    No results matching ""