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

mysql_real_escape_stringでphpfilter_varを使用する

    サニタイズ 文字列は、特定の期待に準拠させるのに役立ちます。 FILTER_SANITIZE_EMAIL メールで無効になる文字を文字列から削除します。結果は(おそらく)電子メールアドレスの構文に準拠することが保証されています。文字列からランダムに文字を削除することはどれほど便利かはあなたに任せます。 (ヒント:あまり役に立たないと思います。ランダムな結果に変換するのではなく、無効なアドレスを拒否する必要があります。無効なメールアドレスを指定します。メールアドレスに似た形にハンマーで叩きます。私にメールを送れるか知っていますか...?!)

    mysql_real_escape_string エスケープに値するすべての文字をエスケープすることにより、任意の文字列がSQLの文字列リテラル構文に違反しないようにするためにあります。あなたがそれを正しく使用していると仮定すると(mysqlが持っている多くの落とし穴、それが非推奨になっている理由です...)、それを失敗させるような入力に対してあなたができることは何もありません。任意の文字列を指定すると、エスケープされたバージョンのピリオドが返されます。

    そのため、一般的に、はい、あなたがしていることは問題ありません。 mysql_real_escape_stringの場合 最後です 文字列をSQL文字列リテラルに補間する前に文字列に対して行うことで問題ありません。



    1. MySQLビューとインデックスの使用

    2. SQL Serverで「time」を「datetime2」に変換する(T-SQLの例)

    3. MySQLの順序付け前にグループ化

    4. 複数のJOINがクエリに適していない、またはオプティマイザの邪魔にならない理由