PDOStatement::bindParam() 參數名稱中的可選前導冒號
PDOStatement::bindParam() 的PHP 文件聲明該參數命名佔位符的識別碼應採用「:name」形式。然而,一些用戶發現前導冒號似乎是可選的。
冒號是可選的嗎?
根據文檔,不,冒號不應該是省略。沒有明確提及可選冒號表明此行為不受官方支持,不應依賴。
但是等等,它有效...
有趣的是,在PHP 5.3.24(可能還有其他版本)中,省略前導冒號確實有效。這是因為在內部,如果參數遺失,則會將冒號加到參數中。此行為可在 ext/pdo/pdo_stmt.c:363(PHP 5.3.24 中)的原始程式碼中找到。
影響
雖然此解決方法目前有效,應謹慎使用。 PHP 的未來版本或 PDO 行為的變更可能會破壞此功能。因此,最佳實踐是遵守文件並在將命名佔位符與 PDOStatement::bindParam() 一起使用時始終包含前導冒號。
以上是PDOStatement::bindParam() 參數名稱中的前導冒號是可選的嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!