MySQL/PHP でパラメータ化されたクエリを使用する方法の例を教えてください。
5965 次
2 に答える
8
パラメーター化されたクエリは、本質的にすべての入力を抽象化するクエリです。これには、すべての入力を無害にする (つまり、有害なインジェクションが不可能になる) ことや、事前に解析およびコンパイルされているため、繰り返し使用すると高速になるなど、いくつかの良い副作用があります。純粋な 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"));
于 2009-12-12T17:21:30.610 に答える
4
PREPARE stmt_name FROM "SELECT name FROM Country WHERE code = ?";
SET @test_parm = "FIN";
EXECUTE stmt_name USING @test_parm;
于 2009-12-12T17:14:58.167 に答える