mysql_real_escape_string() 関数は、SQL ステートメントで使用される文字列内の特殊文字をエスケープします。
次の文字が影響を受けます:
成功した場合、関数はエスケープされた文字列を返します。失敗した場合は false を返します。
使用法はmysql_real_escape_string(string,connection)です
この関数は文字列内の特殊文字をエスケープし、接続の現在の文字セットを考慮するため、mysql_query() で安全に使用できます。この機能を使用してデータベース攻撃を防ぎます。
データベース攻撃。この例は、mysql_real_escape_string() 関数をユーザー名とパスワードに適用しない場合に何が起こるかを示しています:
リーリーその後、SQL クエリは次のようになります:
リーリーこれは、有効なパスワードを入力しなくても、どのユーザーもログインできることを意味します。
mysql_escape_string() にも同様の効果があります。これら 2 つの関数については、mysql_real_escape_string() 関数を使用していたとき、プログラムが常にエラーを起こしていたことを覚えています。その後、エラーの原因がわかりませんでしたが、その後、mysql_escape_string() 関数に変更したところ、正常に動作しました。マニュアルを検索すると、mysql_real_escape_string() を使用する場合は、最初にデータベース接続を確立する必要があり、確立しないとエラーが報告されることがわかりました -___-|||
mysql_real_escape_string() は、MySQL のライブラリ関数 mysql_escape_string を呼び出します。この関数は、次の文字の先頭にバックスラッシュを追加します: NULL、x00、n、r、、'、"、および x1a
mysql_escape_string() は % と _ をエスケープしません。
この関数は、mysql_real_escape_string() が接続ハンドラーを受け取り、現在の文字セットに従って文字列をエスケープすることを除いて、mysql_real_escape_string() と同じです。 れーれー