2
A
回答
4
因爲有一些非常罕見的編碼支持mysql,其中mysql_escape_string將允許SQL注入,但mysql_real_escape_string()不會。
然而,只要你的編碼或者是單字節或UTF-8,也不會有害處從函數mysql_escape_string()曾經和一個可以不用擔心使用它。
另一方面,要注意的是,實際上mysql_real_escape_string()
如果單獨使用將不會有什麼好處。
如期望僅當MySQL驅動編碼設定,使用mysql_set_charset()
函數它將工作(或通過一些MySQL服務器TWEAK)。
否則會起到正是因爲誹謗函數mysql_escape_string以同樣的方式()。
另外值得注意的是,實際上都這些功能是不鼓勵,主要是因爲不正確的使用。
而本地人則會廣泛推送PDO準備好的語句來代替使用。
正如你可能已經猜到了,如果單獨使用,開箱即用的PDO準備語句將沒有任何好處。必須採取一些準備。
一個必須要麼
- 關斷模擬模式,這是在默認情況下
- 或設置我們的老朋友 - MySQL驅動編碼 - 而這種訴訟是在DSN只允許和僅自5.3 0.3。
或者在代理某些非常罕見的編碼方面,PDO和mysql_escape_string之間沒有區別。
6
拿在文檔更好看,它說以下內容:
此功能是相同的mysql_real_escape_string()除了 mysql_real_escape_string()需要一個連接處理器和脫 字符串根據當前字符集。函數mysql_escape_string() 並不需要一個連接的參數,不尊重當前 字符集設置。
因此mysql_escape_string
已被棄用。相反,使用mysql_real_escape_string()
相關問題
- 1. 爲什麼setAnimationDidStopSelector不鼓勵?
- 2. 爲什麼Debug.Print不鼓勵?
- 3. 爲什麼傘架不鼓勵?
- 4. 爲什麼不鼓勵使用Resources.getIdentifier()
- 5. 爲什麼使用`!重要`不鼓勵?
- 6. 爲什麼不鼓勵LD_PRELOAD的使用?
- 7. 爲什麼sun.misc不鼓勵使用?
- 8. 爲什麼jQuery似乎不鼓勵使用常規的OOP?
- 9. CNAME鏈不鼓勵?
- 10. 爲什麼不可變的null不鼓勵?
- 11. 投擲泛型異常不鼓勵?
- 12. 爲什麼不鼓勵Java EE容器中的產卵線程?
- 13. 爲什麼不鼓勵使用單身模式?
- 14. 爲什麼std :: string/std :: map不鼓勵在堆上創建?
- 15. Ruby爲什麼不鼓勵其他語句?
- 16. 爲什麼不鼓勵在Shiny includeScript()中使用絕對路徑?
- 17. 爲什麼不鼓勵直接實例化Dialog類?
- 18. 爲什麼GAE中的URL重寫不被鼓勵?
- 19. 爲什麼在Silverlight 4中不鼓勵使用觸發器?
- 20. 爲什麼在SQLAlchemy中不鼓勵這種模式?
- 21. 爲什麼不鼓勵前端的OAuth密鑰?
- 22. 爲什麼要標記組件ComVisible(true)不鼓勵?
- 23. 爲什麼Qt不鼓勵圖像的本地化?
- 24. 爲什麼鼓勵java hibernate-mapped對象成爲POJO的對象?
- 25. 由於Django不鼓勵將參數傳遞給模板中的函數,因此鼓勵什麼呢?
- 26. 爲什麼django社區鼓勵使用Postgres over Mysql?
- 27. 爲什麼鼓勵使用處理程序的私有變量?
- 28. 「ObjectMessage的用法一般不鼓勵」,用什麼來代替?
- 29. Java中的「不鼓勵參考」是什麼意思?
- 30. 爲什麼混合'從x進口y'和'進口x'不鼓勵?