PDO BindValue 和LIMIT 子句:解決語法錯誤
當使用帶有LIMIT 子句的bindValue 方法時,您可能會遇到語法錯誤,因為PDO 會向變數值加上單引號。此問題源自於 2008 年以來 PDO 中存在的一個已知錯誤。
要解決此問題,請考慮在將變數值傳遞給bindValue 函數之前將其轉換為整數:
$fetchPictures->bindValue(':skip', (int) trim($_GET['skip']), PDO::PARAM_INT);
此修改應解決語法錯誤並確保在執行SQL 語句之前清理資料。它確保 LIMIT 子句中的值被視為整數,從而防止潛在的注入問題。
透過套用此修復,您可以成功使用具有 LIMIT 子句的 bindValue 方法來實現安全分頁功能。請記住在 SQL 查詢中使用之前處理各種輸入場景並徹底驗證所有使用者輸入,以防止潛在的利用嘗試。
以上是使用 LIMIT 子句時如何修復 PDO `bindValue` 語法錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!