Al pasar los parámetros con nombre del formulario :name
a PDOStatement::bindParam()
, parece que funciona si se utilizan o no los dos puntos iniciales.¿Es el colon inicial para los nombres de parámetros pasados a PDOStatement :: bindParam() opcional?
es decir, ya sea esto:
$statement->bindParam(':name', $var);
o esto:
$statement->bindParam('name', $var);
parece funcionar.
Aquí está la documentación para PDOStatement::bindParam()
parámetro
Identificador de parámetro. Para una instrucción preparada utilizando marcadores de posición con nombre, este será un nombre de parámetro del formulario : nombre. Para una declaración preparada utilizando marcadores de posición de signo de interrogación, esta será la posición 1-indexada del parámetro.
¿Esto significa que se pueden dejar los dos puntos?
Diría que se necesitan dos puntos en la expresión SQL, pero no cuando se nombra (identifica) el nombre con 'bindParam'. La función PDO es probablemente menos estricta aquí ya que puede definir su propia interfaz para nombrar el parámetro. – hakre