sql >> データベース >  >> RDS >> Mysql

パラメータ化されたクエリの例

    パラメータ化されたクエリは、基本的にすべての入力を抽象化するクエリです。これには、すべての入力を無害にする(つまり、有害な注入が不可能になる)ことや、事前に解析およびコンパイルされるため、繰り返し使用すると高速になるなど、いくつかの良い副作用があります。エンジンは、指定された入力を適用する方法を知っています。純粋な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"));
    


    1. Laravel Group By Date

    2. IRIWorkbenchでVerticaに接続する

    3. SQL Server(T-SQL)でのPATINDEX()関数のしくみ

    4. 文字列を別の文字列に置き換えて、phpとmysqlで大文字と小文字を区別する方法は?