PDOStatement::bindParam() 中參數名稱的前導冒號是否真的可選?
PDOStatement::bindParam() 允許您使用佔位符(例如:name)在查詢中指定命名參數。文件指出命名佔位符的參數標識符應使用格式:name。然而,據觀察,:name 和 name 似乎都可以使用,沒有任何問題。
文件和支援的功能
PDOStatement::bindParam()文件明確提到對命名參數使用冒號前綴 (:name)。這表明官方不支援不使用冒號。
PHP 內部行為
儘管有文件說明,但 PHP 內部會在參數名稱中缺少冒號時加上冒號。可以在 PHP 原始碼 (ext/pdo/pdo_stmt.c:363) 中觀察到此行為。這意味著當您使用不帶冒號的名稱時,PHP 將自動添加它。
可靠性與建議
雖然這種內部行為很方便,但值得注意的是官方文件不支持它。因此,不建議依賴此行為,並建議在使用 PDOStatement::bindParam().
時始終對命名參數使用冒號前綴。免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3