Pergunta

Alguém poderia me dar exemplos de como usar consultas parametrizadas com MySQL / PHP por favor?

Foi útil?

Solução

A parametrizado consulta é essencialmente uma consulta que abstrai todas as entradas. Isto tem vários efeitos colaterais boa, como fazer tudo inofensivo entrada (ie. Sem injeções prejudiciais são possíveis) e torná-lo mais rápido quando usado repetidamente, uma vez que é pré-analisada e compilada, de modo que o motor sabe como aplicar a entrada dada. Um exemplo no mysql pura é:

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

A declaração é agora compilados e armazenados em cache, e pode ser executado repetidamente sem a necessidade de recompilar e interpretá-lo:

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

Quando usado em PHP, normalmente é assim (encurtado):

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

Outras dicas

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

SET @test_parm = "FIN";

EXECUTE stmt_name USING @test_parm;

Fonte: MySQL Dev: instruções preparadas

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top