Optionaler führender Doppelpunkt in PDOStatement::bindParam() Parameternamen
In der PHP-Dokumentation für PDOStatement::bindParam() heißt es, dass der Parameter Bezeichner für benannte Platzhalter sollten die Form „:name“ haben. Einige Benutzer haben jedoch beobachtet, dass der führende Doppelpunkt optional zu sein scheint.
Ist der Doppelpunkt optional?
Der Dokumentation zufolge sollte der Doppelpunkt nicht optional sein weggelassen. Das Fehlen einer expliziten Erwähnung optionaler Doppelpunkte deutet darauf hin, dass dieses Verhalten nicht offiziell unterstützt wird und man sich nicht darauf verlassen sollte.
Aber Moment, es funktioniert...
Interessanterweise funktioniert das Weglassen des führenden Doppelpunkts in PHP 5.3.24 (und möglicherweise auch anderen Versionen) tatsächlich. Dies liegt daran, dass dem Parameter intern ein Doppelpunkt hinzugefügt wird, wenn er fehlt. Dieses Verhalten findet sich im Quellcode für ext/pdo/pdo_stmt.c:363 (in PHP 5.3.24).
Auswirkungen
Während diese Problemumgehung derzeit funktioniert , es sollte vorsichtig verwendet werden. Zukünftige Versionen von PHP oder Änderungen im PDO-Verhalten könnten diese Funktionalität beeinträchtigen. Daher empfiehlt es sich, sich an die Dokumentation zu halten und bei der Verwendung benannter Platzhalter mit PDOStatement::bindParam().
immer den führenden Doppelpunkt einzufügenDas obige ist der detaillierte Inhalt vonIst der führende Doppelpunkt in PDOStatement::bindParam()-Parameternamen optional?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!