PDOStatement::bindParam() 參數名稱中的前導冒號是可選的嗎?

DDD
發布: 2024-11-14 09:58:02
原創
528 人瀏覽過

Is the Leading Colon Optional in PDOStatement::bindParam() Parameter Names?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板