Consultas sin procesar en Laravel - Tutsplanet

Eloquent es la respuesta para todo tipo de operaciones de base de datos en Laravel. De hecho, es una gran solución para interactuar con bases de datos. Pero si tenemos una lógica empresarial complicada/consultas MySQL complejas, a menudo necesitamos escribir consultas sin procesar en Laravel.

La inyección de SQL es una de las principales preocupaciones sobre el uso de consultas sin formato en Laravel. Primero, tenemos Laravel generador de consultas para protegernos de los espíritus dañinos. Pero si abrimos la puerta intencionadamente a manos malintencionadas, Laravel no tiene nada que ver.

Por ejemplo, considere la siguiente consulta

$yourVar = Input::get("some_variable_from_a_form");

$results = DB::select( DB::raw("SELECT * FROM your_table WHERE your_col = '$yourVar'") );

En la consulta anterior, ingresamos directamente el valor del formulario en nuestra consulta sin limpiar. Esta es una práctica peligrosa y debe evitarse por todos los medios.

Aunque puede funcionar, debe usar el método Laravel como se muestra en el ejemplo a continuación. En este caso, los enlaces son la herramienta perfecta para evitar la inyección de SQL.

$yourVar = Input::get("some_variable_from_a_form");

$results = DB::select( DB::raw("SELECT * FROM your_table WHERE your_col = :yourVar"), array(
   'yourVar' => $yourVar,
 ));

Antes de terminar el artículo, debo recordarte algo.

No utilice el método de selección si su consulta realiza una ejecución que no devuelve resultados. Por ejemplo, modificar una columna de una tabla. Utilizar el declaración método para realizar la ejecución de la consulta.

DB::statement( 'ALTER TABLE your_Table CHANGE `data` `data` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL' );

Espero que este haya sido un artículo informativo, no dude en compartirlo con sus compañeros.


Equipo editorial

El equipo editorial de Tutsplanet es un equipo dedicado a escribir varios tutoriales sobre temas como programación, tecnología y sistemas operativos.

Si quieres conocer otros artículos parecidos a Consultas sin procesar en Laravel - Tutsplanet puedes visitar la categoría Código.

Deja un comentario

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

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas