Pregunta

¿Alguien podría dar ejemplos de cómo utilizar consultas parametrizadas con MySQL / PHP por favor?

¿Fue útil?

Solución

A consulta parametrizada es esencialmente una consulta que abstrae toda la entrada. Esto tiene varios efectos secundarios buenos, como la fabricación de todas las entradas inofensiva (es decir. No hay inyecciones nocivas son posibles) y lo que es más rápido cuando se usa repetidamente, ya que es pre-analiza y compila, 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 está ahora compila y almacena en caché, y se puede ejecutar repetidamente sin necesidad de recompilar e interpretarla:

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

Cuando se utiliza en PHP, por lo general es así (abreviada):

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

Otros consejos

PREPARE stmt_name FROM "SELECT name FROM Country WHERE code = ?";

SET @test_parm = "FIN";

EXECUTE stmt_name USING @test_parm;

Fuente: MySQL Dev: Comandos preparados

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