sql >> Base de Datos >  >> RDS >> Mysql

Ejemplos de consultas parametrizadas

Una consulta parametrizada es esencialmente una consulta que abstrae toda la entrada. Esto tiene varios efectos secundarios buenos, como hacer que todas las entradas sean inofensivas (es decir, no son posibles inyecciones dañinas) y hacerlo más rápido cuando se usa repetidamente, ya que se analiza y compila previamente, por lo que el motor sabe cómo aplicar la entrada dada. Un ejemplo en mysql puro es:

PREPARE qry FROM "INSERT INTO tbl VALUES (?)";

La declaración ahora está compilada y almacenada en caché, y puede ejecutarse repetidamente sin necesidad de volver a compilarla e interpretarla:

SET @var = "some input";
EXECUTE qry USING @var;
SET @var = "some other input";
EXECUTE qry USING @var;

Cuando se usa en PHP, generalmente es así (abreviado):

$stmt = prepare('INSERT INTO tbl VALUES(?)');
execute($stmt, array("some input"));
execute($stmt, array("some other input"));
execute($stmt, array("some more input"));