質問

誰が私のMySQL / PHPでパラメータ化クエリを使用する方法の例を与えることができるしてください?

役に立ちましたか?

解決

パラメータ化されたクエリは、本質的にすべての入力を離れて抽象化クエリです。それは事前に解析され、コンパイルされているので、これは、すべての入力は無害作る(すなわち。有害な注射が可能でありません)と、繰り返し使用する場合、それより速く作るような、いくつかの良い副作用を持っているので、エンジンは、与えられた入力を適用する方法を知っています。純粋なMySQLでの例は次のとおりです。

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

文は、今コンパイルし、キャッシュされ、それを再コンパイルし、解釈することなく、繰り返し実行することができますされます:

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

PHPで使用する場合、それはこの(短縮)のように、通常です。

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

他のヒント

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

SET @test_parm = "FIN";

EXECUTE stmt_name USING @test_parm;

ソース:のMySQLのDev:プリペアドステートメント

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top