我開始在我的應用程序中使用PDO並準備好語句,但我有一些問題給那裏的專業人員。希望你能幫我! :)關於PDO和準備報表的幾個問題
- 什麼時候應該使用預處理語句?我整個應用程序中的每個查詢?
- 我可以使用INSERT的準備好的語句嗎?
- 我可以在INSERT中使用帶有可變列的預準備語句嗎?
- 準備語句多快(使用SELECT或INSERT時)
- 我可以使用UPDATE語句嗎?
- 爲什麼我應該使用它們,除了速度提升和安全性?
我開始在我的應用程序中使用PDO並準備好語句,但我有一些問題給那裏的專業人員。希望你能幫我! :)關於PDO和準備報表的幾個問題
什麼時候應該使用預處理語句?我整個應用程序中的每個查詢?
是的。隨處使用它們。有幾個邊緣情況下,您仍然需要連接SQL和值轉義。綁定參數不能替代動態SQL構造。
我可以使用INSERT的準備語句嗎?
是的。 INSERT INTO tbl (x,y,z) VALUES (?,?,?)
我可以在INSERT中使用具有可變列的準備語句嗎?
是的。但是列名不能被綁定參數。構造動態INSERT語句需要過濾器和/或轉義函數。
有多快準備語句(SELECT使用INSERT或時)
沒有一般的答案。
如果您遍歷數據數組並重新使用準備好的語句來插入,則會發生速度增益。普通查詢:取決於。測試自己。
我可以在UPDATE中使用預處理語句嗎?
是的。 UPDATE tbl SET x = ? AND y = ? WHERE z = ?
爲什麼我應該使用它們,除了速度提升和安全性?
使SQL查詢更具可讀性。
什麼時候應該使用預處理語句?我整個應用程序中的每個查詢?
當然,是的,否則將是徒勞無益的。
我可以使用INSERT的準備語句嗎?
您如何看待?如果你不能這樣做會有意義嗎? 「我們爲你製造了極好的盔甲,但它只保護一方」?
我可以在INSERT中使用帶有可變列的準備好的語句嗎?
您可以添加可變數量的佔位符!
有多快準備語句(SELECT使用INSERT或時)
你永遠不會注意到。
我可以在UPDATE中使用預處理語句嗎?
沒有評論。
爲什麼我應該使用它們,除了速度提升和安全性?
嗯,原因與魔術引號完全一樣 - 它可以爲那些沒有線索的人提供更安全的應用。就這樣。
+1提及列名稱和過濾(但是,我寧願白名單逃避)。 – 2011-02-18 08:00:47