參數化語句可以處理表格名稱嗎?
您在嘗試在準備好的語句中參數化表名稱時遇到了問題。分隔旨在防止 SQL 注入的變數會導致錯誤。
您提供的程式碼包含函數 insertRow,該函數嘗試將新表名綁定為問號語句。
不幸的是,在準備好的語句中參數化表名是不可能的。準備好的語句僅允許將參數綁定到 SQL 語句的「值」元素。表名不是運行時值,會改變語句的有效性,可能會改變其意義。
即使像 PDO 這樣的資料庫介面允許在任何地方進行佔位符替換,表佔位符的值也將是包含在SQL,導致無效的 SQL。
為了防止 SQL 注入,必須使用表白名單並根據此清單檢查使用者輸入。您的程式碼應類似以下內容:
以上是準備好的語句可以參數化 SQL 中的表名嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!