sql >> Database >  >> RDS >> Mysql

Voorbeelden van geparametriseerde zoekopdrachten

Een geparametriseerde query is in wezen een query die alle invoer abstraheert. Dit heeft een aantal goede neveneffecten, zoals het onschadelijk maken van alle invoer (dwz er zijn geen schadelijke injecties mogelijk) en het sneller maken bij herhaaldelijk gebruik, omdat het vooraf is geparseerd en gecompileerd, zodat de engine weet hoe de gegeven invoer moet worden toegepast. Een voorbeeld in pure mysql is:

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

Het statement is nu gecompileerd en in de cache opgeslagen, en kan herhaaldelijk worden uitgevoerd zonder het opnieuw te hoeven compileren en interpreteren:

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

Bij gebruik in PHP is het meestal zo (afgekort):

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


  1. Verschil tussen een normale ajax en lange polling

  2. Selecteer alles voor of na een bepaald personage in MariaDB

  3. Terug van Open Wereld 2013

  4. SQL Server-authenticatie versus Windows-authenticatie:welke te gebruiken en wanneer?