使用常數處理PDO bindParam 中的「無法透過引用傳遞參數2」錯誤
使用PDO 時,開發人員可能會遇到令人費解的錯誤「無法透過引用傳遞參數2。」當使用帶有常數值的bindParam時,通常會發生這種情況。
要修正此問題,從使用bindParam 切換到bindValue 至關重要。 bindParam 將變數作為引用,並且僅在語句執行期間插入其值。相反,bindValue 立即計算提供的值並將其合併到語句中。
以下範例示範了bindValue 的正確用法:
$stmt = $dbh->prepare('INSERT INTO table(v1, v2, ...) VALUES(:v1, :v2, ...)'); $stmt->bindValue(':v1', null, PDO::PARAM_INT);
請注意,綁定像null 這樣的常數值應該使用PDO::PARAM_INT 或其他適當的PDO::PARAM 類型,而不是PDO::PARAM_NULL 來完成。
透過遵循這個簡單的調整,開發人員可以有效解決「無法透過引用傳遞參數 2」錯誤並毫無阻礙地繼續他們的資料庫操作。
以上是為什麼 PDO 的 `bindParam` 因常數而失敗,以及如何修復「無法透過引用傳遞參數 2」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!