QUOTE()
MySQL では、との違いは何mysql_real_escape_string()
ですか? MySQLのドキュメントから、私は次のことを知っています:
見積もり()
- SQLクエリに書き込まれる
- バックスラッシュ、一重引用符、NUL、CTRL+Z をエスケープします
- 単一引用符で囲まれた文字列を返します
- 動作は MySQL サーバーの文字セットに依存します
mysql_real_escape_string()
- クエリが実行される前に C/C++ で記述され、エスケープされた文字列を送信前に読み取り/変更できるようにする
- と比較すると非常に使いにくい
QUOTE()
- バックスラッシュ、一重引用符、NUL、CTRL+Z、および二重引用符、\n、および \r をエスケープします
- ログファイルで文字を読みやすくするために、引用符を追加しているようです
- 動作は MySQL サーバーの文字セットに依存します
\n
ログを無視して、\r
文字をエスケープすると便利ですか? この 2 つの機能では、クライアント/サーバー機能の効率に違いはありますか? mysql_real_escape_string()
開発者が、エスケープされた文字列をクエリに入力する前に処理することが望ましい場合に便利です。しかし、QUOTE()
文字列をエスケープする最も安全で信頼できる方法を提供していませんか?
QUOTE()
すべての言語のすべてのクエリに使用し、言語固有の関数で文字列をエスケープすることを忘れるべきかどうか疑問に思います。