2014-10-10 54 views
0

我正在使用propel。我張貼的說明頁面,並通過推進查詢mysql_real_escape_string像propel中的函數

$desc="my school's is here that why "" i have work"; // this data is posting by my form input. 
$education->setEddescription($desc); 
$education->save(); 

節省,但在數據庫中它不逃避「和‘’值。

謝謝。

+0

ORM會爲SQL查詢上下文執行轉義值(Propel使用綁定參數)。而數據庫不需要*來存儲任何轉義的數據,只是實際值。你可能在其他地方有代碼問題嗎? – mario 2014-10-10 04:55:36

+0

我在json中打印該描述。 「描述」:「我的學校就在這裏」「爲什麼我有工作」並在json中出現錯誤 – 2014-10-10 05:04:47

+1

那麼**不要**手動解析無效的JSON。有'json_encode()'正確處理事情。 – mario 2014-10-10 05:29:18

回答

2

參考: Is Propel's fromArray/fromJSON feature safe from SQL injection?

行走不僅使用PDO的查詢,還利用通過PDO準備語句,這是相當不錯的,當涉及到減輕SQL注入攻擊(和性能增強)。

請注意,只是使用PDO不能保證防止SQL注入,所以始終使用Prepared Statements。

因此,作爲對您的問題的回答,是的,Propel充分利用PDO的功能來防止SQL注入。