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

このクエリからのSQLインジェクションを防ぐ方法は?

    プレースホルダーが引用されている場合、それはプレースホルダーではなく、リテラル値です。この方法で試してください:

    $a = Model::model()->findAllBySql(
                          'SELECT * FROM table WHERE name like :name',
                          array(":name"=> '%' . $_GET['name'] . '%')
                          );
    

    ドライバーは現在、コロンを自動追加しますが、将来的には自動追加されない可能性があります。名前をプレースホルダーと一致させるのが最適です。




    1. 1つの状況を除いて、テーブルの更新を防ぐ方法

    2. MySQL ON DUPLICATEKEYUPDATE構文エラー

    3. Sparkのjdbcに適したドライバーが見つかりません

    4. 日付を人間が読める形式にフォーマットする