さて、1つの大きな誤解があります。
mysql_real_escape_string()しません クリーン 何でも。 セキュリティとはまったく関係ありません。
この関数は、区切り文字をエスケープするためだけに使用され、それ以上のものはありません。文字列データをSQLクエリに入れるのに役立ちます-それだけです。
したがって、(引用符で囲むことによって)クエリに入力するすべての文字列は、この関数を使用して準備する必要があります。他のすべての場合、それは役に立たないか、さらには有害です。
したがって、
この誤解から、ここで2つの大きな間違いを犯しています:
- この関数は、実際にクエリに送信されるデータではなく使用しています
- パスワードに記号を追加するとパスワードが台無しになる可能性があるため、使用できなくなります
また、補足として、この関数は常にmysql_set_charset、またはそれ以外の場合は"_real_"
と組み合わせて使用する必要があることに注意してください。 この機能の一部が役に立たなくなります