如何防止應用程序針對每個SQL查詢使用預準備語句進行SQL注入。如何在PHP MVC門面模式中準備查詢?
我有一些「經理」類來處理查詢,並調用爲數據庫連接和查詢運行而設計的特定類的靜態方法。這個爲每個查詢創建一個連接,並有一些通用的公共靜態方法getAll(),getOne(),exec()來處理各種查詢。
我在哪裏可以做db-> prepare,BindParam和execute語句?經理類方面,沒有連接初始化,所以db-> prepare是不可能的。 數據庫類方面,該方法是通用的,所以參數是可變的,取決於調用靜態方法的方法。
有一個什麼樣我想在這裏說明一個清晰的概念,你可以看到我的代碼在這裏:https://github.com/code-climber/car_rental/tree/master/src/car_rental/model/dao
您可以檢查我寫CarManager.class.php的方式和我的SQL查詢方式他們在DBOperation.class.php中處理。
我希望這個問題能夠在OOP PHP編程中清楚我腦海中的重要概念。
好吧,這是接近工作,只是我不明白的一件事。當我遍歷查詢參數數組時,我寫$ stmt-> bindParam($ key,$ value),但存儲在數據庫表中的是關鍵。例如,我得到:在我的表中登錄,而不是得到我的真實登錄名。 –
我可以看看你的循環碼嗎? –