ホームページ >バックエンド開発 >PHPの問題 >PHPがmysqlデータにアクセスするときに特殊文字をエスケープする方法

PHPがmysqlデータにアクセスするときに特殊文字をエスケープする方法

coldplay.xixi
coldplay.xixiオリジナル
2020-09-07 11:31:522276ブラウズ

PHP が mysql データにアクセスするときに特殊文字をエスケープする方法: mysql ライブラリ関数を使用してエスケープできます。コードは [mysql_escape_string(string $unescaped_string): string] です。エスケープ関数 addlashes を使用してエスケープすることもできます。

PHPがmysqlデータにアクセスするときに特殊文字をエスケープする方法

[関連する学習の推奨事項: php プログラミング (ビデオ)]

#php が mysql データにアクセスするときに特殊文字をエスケープする方法:

方法 1: mysql ライブラリ関数を使用する

PHP バージョン 7.0 より前:

mysql_escape_string ( string $unescaped_string ) : string

PHP バージョン 7.0 以降:

mysqli_real_escape_string ( mysqli $link , string $escapestr ) : string

方法 2: エスケープ関数 addslashes()

バージョン PHP4、PHP5、PHP7

addslashes ( string $str ) : string

PHP 5.4 より前では、PHP コマンド magic_quotes_gpc がデフォルトでオンになっていましたが、実際、すべての GET、POST、COOKIE データはaddslashes() によって使用されます。 magic_quotes_gpc によってエスケープされた文字列に対して addslashes() を使用しないでください。二重エスケープが発生するためです。

この状況が発生した場合は、関数

get_magic_quotes_gpc() を使用して検出できます。つまり、get_magic_quotes_gpc() が false を返した場合は、addslashes() を使用して特殊文字をエスケープします。例は次のとおりです。

function myaddslashes($data)
{
    if(false == get_magic_quotes_gpc())
    {
        return addslashes($data);//未启用魔术引用时,转义特殊字符
    }
    return $data;
}

プログラミングについてさらに詳しく知りたい場合は、

php training 列に注目してください。

以上がPHPがmysqlデータにアクセスするときに特殊文字をエスケープする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。