なぜデータベース接続なしでmysqli_escape_string
機能を使用できないのですか? the documentationからmysqli_escape_stringにデータベース接続が必要なのはなぜですか?
1
A
答えて
4
:SQL文で使用する文字列で
エスケープ特殊文字、アカウントに接続これは、接続している必要があり
の現在の文字セットを取っているので、それデータベースが使用している文字セットを知っているので、データをエスケープするための適切なルールを使用できます。
2
クエンティンの解答は、それを本質に沸かせます。
クエンティンは、すでに述べたように、私も
- ことを、追加したい、文字セットは、アクティブな接続のコンテキストで知られている - とエスケープするために不可欠です。
- 通常、接続オブジェクトは、コードを必要とするコードのどの部分でも使用できるようにする必要があります。エスケープする必要があるときはいつでも、接続を使用する必要があります。あなたの問題が「接続オブジェクトが私のコードのこの部分で到達できない」場合は、間違いなくそれに取り組む必要があります。
- そして、
mysqli_escape_string
の動作をPHPで再現しようとしないでください!これにより、潜在的に攻撃者にとって脆弱になります。"
を\"
に変換するのは簡単だとは思わないでください。
#2と#3をよく見てください。この質問をすると、プロジェクトで何らかのアーキテクチャ上の問題が発生していると思われます。
関連する問題
- 1. Javascript/web dev:なぜハードウェアに接続するにはサーバーが必要ですか?
- 2. pyqtSlotで接続スロットを飾る必要があるのはなぜですか?
- 3. データベース接続のヘルプが必要
- 4. アンドロイドをデータベースに直接接続しないのはなぜですか?
- 5. プログラムがデータベースに接続していないのはなぜですか?
- 6. すべてのアプリでデータベース接続が必要かどうか
- 7. ノードがシングルスレッドのときにnode.jsに接続プールが必要なのはなぜですか?
- 8. インストール時にデータベースに別のユーザーアカウントが必要なのはなぜですか?
- 9. 残りの接続が必要なAPI
- 10. 2つ以上のデータベース接続が必要ですか?
- 11. SQLiteデータベースの作成にgetWritableDatabase()が必要なのはなぜですか?
- 12. データベースへの接続に関するサポートが必要です。mysql
- 13. SymfonyでPervasiveデータベースに接続できないのはなぜですか?
- 14. PHPでデータベース接続する必要がありますか?
- 15. PreparedStatementsを作成するために接続が必要なのはなぜですか?
- 16. なぜPDOがデータベースに接続していないのですか
- 17. なぜPDFファイルにLOG4JとSLF4Jが必要ですか?なぜ.Docファイルには必要ないのですか?
- 18. 電話アプリをhttpsデータベースに接続するには何が必要ですか?
- 19. なぜマクロに2層の間接指定が必要なのですか?で
- 20. Javaで長い間接尾辞が必要なのはなぜですか?
- 21. redis pub/subモデルはredisへの永続的な接続が必要ですか?
- 22. cakephp 2.0.5 Sqlserverにデータベース接続が必要です
- 23. なぜJDBCを使用する必要がありますかClass.forName(...)各接続の書き込み?私は、データベースに接続する場合は
- 24. なぜ多くのデータベース接続タイプがありますか?
- 25. 直接TCP \ IP接続には何が必要ですか?
- 26. ejabberd:Websocket接続が開かないのはなぜですか?
- 27. コードファーストクラスにはナビゲーションプロパティが必要なのはなぜですか?
- 28. PEにはオリジナルファーストサンク(OFT)が必要なのはなぜですか?
- 29. 新しいウィンドウでlocalhost:3000に再接続する必要があるのはなぜですか?
- 30. このコードにklassが必要なのはなぜですか?
データベース接続がなければ注入できませんので、正確にあなたの質問は何ですか? – Matt
引用符などをPHPでなくエスケープする方法を知っているのはデータベースだからです。 PHPはデータベースにそれをさせます –
質問を更新しました –