Frage

Könnte jemand geben Sie mir Beispiele, wie parametrisierte Abfragen mit MySQL / PHP zu verwenden, bitte?

War es hilfreich?

Lösung

Eine parametrisierte Abfrage ist im Wesentlichen eine Abfrage, die alle Eingänge abstrahiert. Dies hat mehrere gute Nebenwirkungen, wie macht alle Eingaben harmlos (dh. Keine schädlichen Injektionen sind möglich) und macht es schneller, wenn sie wiederholt verwendet, da es vorab analysiert und zusammengestellt ist, so dass der Motor weiß, wie die Eingabe zu beantragen. Ein Beispiel in reiner mysql ist:

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

Die Anweisung wird jetzt erstellt und zwischengespeichert und kann, ohne dass wiederholt ausgeführt werden, um es neu zu kompilieren und zu interpretieren:

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

Wenn in PHP verwendet wird, ist es in der Regel wie folgt aus (verkürzt):

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

Andere Tipps

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

SET @test_parm = "FIN";

EXECUTE stmt_name USING @test_parm;

Quelle: MySQL Dev: Prepared Statements

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top