2012-10-07 34 views
-2

可能重複:
Best way to prevent SQL injection in PHP?PHP SQL 「保護」 串

我犯了一個PHP腳本ectracting XML值,並將其插入到一個SQL數據庫。

但是,這些字符串具有各種符號,反斜槓,%,*,'等,而最終我會得到一個錯誤。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL  server version for the right syntax to use near 's demanding business environment. 
Product Lin' at line 2 

我試圖像「的stripslashes」的幾件事情等卜我不能似乎找到commaned「保護」變量與我的SQL干擾。

任何想法?

+0

您必須使用PDO。它不僅可以解決您的問題,還可以使您的腳本遠離注入攻擊更安全。 http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/ PDO文檔:http://php.net/manual /en/book.pdo.php –

回答

1

如果您正在使用舊mysql_query()系統,您將一個字符串到SQL之前,應該使用mysql_real_escape_string()用於轉義字符串。像這樣:

$myStringEscaped = mysql_real_escape_string($myString); 
+0

我不確定人們爲什麼投票下來。如果他們留言,會很好。我想這個論壇是爲了互相幫助。感謝所有幫助:-) –