你好,我的mySQL查詢和插入有問題。MySQL特殊字符問題
當會員在文本區域寫下這些字符,如:
' " < >
和其他一些.. 的MySQL將給出一個數據庫錯誤。
我能做些什麼來避免這種情況? 我認爲這是PHP中的常見事物。
謝謝
你好,我的mySQL查詢和插入有問題。MySQL特殊字符問題
當會員在文本區域寫下這些字符,如:
' " < >
和其他一些.. 的MySQL將給出一個數據庫錯誤。
我能做些什麼來避免這種情況? 我認爲這是PHP中的常見事物。
謝謝
使用mysql_real_escape_string()上的數據您嘗試插入它之前。
這也將保護你免受SQL injection。
您需要將其插入到你的數據庫之前逃脫你的輸入。
見mysql_real_escape_string()
:
http://php.net/manual/en/function.mysql-real-escape-string.php
快速修復,逃逸是進入與mysql_real_escape_string將有助於應用程序的任何字符串。
要獲得更好(甚至更快!)的解決方案,請使用mysqli
並準備好語句 - 請參閱這個教程:http://www.dreamincode.net/forums/topic/54239-introduction-to-mysqli-and-prepared-statements/
你也可以使用php的addslashes()。
加速度已知不足(並且已經*年*)。見例如這對於SQL注入儘管addslashes():http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string – Piskvor 2011-05-29 14:00:04
+1鏈接到小鮑比表卡通。 :-) – 2011-05-29 10:59:31