Pregunta

¿Qué es una consulta parametrizada, y lo que sería un ejemplo de tal una consulta estar en PHP y MySQL?

¿Fue útil?

Solución

Una consulta parametrizada (también conocido como un declaración preparada ) es un medio de pre-compilar una instrucción SQL para que todo lo que necesita alimentación son los "parámetros" (piensa "variables") que necesidad de insertarse en la declaración para que pueda ser ejecutado. Se usa comúnmente como un medio para evitar la inyección de SQL ataques .

Puede leer más acerca de estos en PHP DOP página (DOP siendo una capa de abstracción de base de datos), aunque también se puede hacer uso de ellos si usted está utilizando la interfaz de base de datos mysqli (ver el preparar documentación).

Otros consejos

Esta es una explicación clara y concisa de lo que es y cómo funciona. ¿Cómo y por qué utilizar parametrización

esencial que el proceso implica el servidor de procesamiento previo de la solicitud sin parámetros para que sepa el tipo de consulta que es. Así, por ejemplo, una consulta SELECT es sólo una consulta SELECT, y no puede ser concatenadas por un parámetro (variable de petición) a ser un SELECT / DROP o alguna otra inyección de MySQL. En cambio, los datos de inyección serán sólo los datos de cadena en el campo de parámetro.

A parametrizada consulta es una consulta en la que los marcadores de posición se utilizan para los parámetros y los valores de los parámetros se suministran en tiempo de ejecución.

¿Por qué utilizar consulta parametrizada

  1. La razón más importante la utilización de consultas con parámetros es evitar ataques de inyección SQL.
  2. query segundo lugar parametrizado se encarga de escenario en el que consulta SQL podría fallar por ejemplo la inserción de O'Baily en un campo. Handels consulta parametrizada tal consulta sin obligarle a reemplazar comillas simples con comillas simples.

Esta declaración es una de las características del sistema de base de datos en la que misma instrucción SQL se ejecuta repetidamente con una alta eficiencia. Las declaraciones preparadas son un tipo de la plantilla y utilizado por la aplicación con diferentes parámetros. Referencia artículo

Base de datos del sistema puede ejecutar la misma instrucción SQL sin hacer el análisis, compilación y optimización de una y otra vez por el mismo tipo de instrucción SQL.

se puede escribir o crear declaración preparada en MySQL, pero esto no es una forma eficiente ya que el protocolo binario mediante una API de comandos preparados es mejor.

Pero todavía se puede escribir e incluso esto no requiere ningún otro tipo de programación se puede escribir directamente en SQL. Se puede utilizar una declaración preparada para MySQL Client program.You también puede utilizar una declaración preparada en un procedimiento almacenado para el enfoque dinámico de SQL.

Crea declaración preparada en MySQL: se toma referencia de este artículo

PREPARE TestStmt FROM 
'SELECT * FROM Test 
WHERE TestNumber=?';

Puede utilizar código PHP para gestionar declaración preparada a través de su API o director a nivel de JDBC.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top