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

.NET Frameworkのmysql_real_escape_string()

    なぜあなたはそれをしたいのですか?ユーザー入力をデータベースに送信する正しい方法は、データベースをエスケープすることではなく、クエリパラメータ

    using(var command = new SqlCommand("insert into MyTable(X, Y) values(@x, @y)", connection))
    {
        command.Parameters.Add("@x", textBoxX.Text);
        command.Parameters.Add("@y", textBoxY.Text);
        command.ExecuteNonQuery();
    }
    

    これにより、クエリテキストが常に同じになり、クエリ実行プランをキャッシュできるため、パフォーマンスが向上します。これにより、SQLインジェクション攻撃からも保護されます。また、データの書式設定の問題を無視することもできます(たとえば、SQL-ServerでDateTimeをどのように書式設定するか、SQLで数値をどのように表現するかなど)




    1. SQLiteクエリ結果で文字列を一重引用符で囲みます

    2. CloverDXでODBCデータを変換する

    3. ストアドプロシージャとは何ですか?なぜストアドプロシージャですか?

    4. ORDERBYとLIMITを使用したUPDATEがMYSQLで機能しない