2011-07-02 67 views
4

當與$db->quote()函數一起使用時,PDO::PARAM_INT是否執行任何功能?例如$db->quote($user['id'], PDO::PARAM_INT)是否是PDO :: PARAM_INT冗餘?

看起來好像是這樣,因爲即使是字符串輸入也會通過低谷。更不用說,它保持整數的引號。我有什麼理由使用它?

回答

4

它沒有效果,因爲畢竟你都是運行的quote函數。這是很自然的,它被包裹在報價中。 PDO::PARAM_INT在其他上下文中可能更重要,比如預處理語句,其實際處理方式與字符串不同。

quote可能更關心的是不應被引用或應區別引用的其他數據類型,如PDO::PARAM_BOOL

+0

我會是錯的,如果我延長PDO實例的'quote'方法無法逃脫,雖然如果提供了'PDO :: PARAM_INT',確保輸入是整數? – Gajus

+0

@Guy:我的意思是,你可以,但我不知道爲什麼要打擾它。沒有數據庫引擎會引用它的大問題。保持你的工作儘可能簡單:) – Matchu

+0

這個具體的例子https://gist.github.com/4e0897133b4ce5b5855e它會創建超過10K條記錄。整數週圍的引號是否會產生很大的影響? (最初的例子有用'db-> quote'包圍的查詢的每個參數。) – Gajus

相關問題