sql >> Databáze >  >> RDS >> Mysql

Příklady parametrizovaných dotazů

Parametrizovaný dotaz je v podstatě dotaz, který abstrahuje veškerý vstup. To má několik dobrých vedlejších účinků, jako je zneškodnění veškerého vstupu (tj. nejsou možné žádné škodlivé injekce) a jeho zrychlení při opakovaném použití, protože je předem analyzován a zkompilován, takže motor ví, jak zadaný vstup použít. Příklad v čistém mysql je:

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

Příkaz je nyní zkompilován a uložen do mezipaměti a lze jej opakovaně provádět, aniž by bylo nutné jej znovu kompilovat a interpretovat:

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

Při použití v PHP je to obvykle takto (zkráceno):

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


  1. Vracení JSON nefunguje správně

  2. Excel VBA:zápis do databáze mysql

  3. Získání posledních 5 znaků řetězce pomocí dotazu mysql

  4. Chyba při konfiguraci hibernace 5.0.1 a MySQL