Domanda

Qualcuno potrebbe darmi esempi di come utilizzare query con parametri con MySQL / PHP per favore?

È stato utile?

Soluzione

Una query con parametri è essenzialmente una query che astrae tutti gli input. Questo ha diversi effetti collaterali buone, come rendendo tutto ingresso innocua (es. Iniezioni nocivi possibili) e rendendo più veloce quando usato ripetutamente, poiché è pre-analizzato e compilato, quindi il motore sappia applicare all'ingresso proposta. Un esempio in puro mysql è:

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

La dichiarazione è ora compilata e memorizzata nella cache, e può essere eseguito più volte senza la necessità di ricompilare e interpretarlo:

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

Quando utilizzato in PHP, di solito è così (abbreviato):

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

Altri suggerimenti

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

SET @test_parm = "FIN";

EXECUTE stmt_name USING @test_parm;

Fonte: MySQL Dev: prepared statement

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top