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

PDOステートメントは自動的にエスケープされますか?

    魔法の引用符のような醜さが有効になっていないと仮定すると、プリペアドステートメントのみが自動魔法のエスケープを提供します。また、パラメータのデータのみがエスケープされ、ステートメントを準備するときにSQL文字列にすでに含まれているものはエスケープされません。

    自動エスケープのメリットが必要な場合は、ステートメントを準備して、データを個別にフィードする必要があります。

    $sth = $dbh->prepare("SELECT * FROM users WHERE username=? AND password=?");
    $sth->execute(array($username, $password));
    

    そうしないと、mysqli_queryに対する保護がほとんどまたはまったく得られません。 と友達。 (私は言及することさえ拒否します mysql_query 、自尊心のあるPHPプログラマーはもうそれを使用していないからです。ああ、待って..くそー。ええと、それがここで得られる唯一の言及です。)



    1. データベースに値を保存する際の問題

    2. Oracleでレガシーの左外部結合ステートメントを変換するにはどうすればよいですか?

    3. SQL Developer 4.1.2

    4. OracleSQLはデータ内の文字¡を検索します