php – I get an error in "if ($ stmt-> execute ())" with PDOStatement :: execute (): SQLSTATE[HY093]: Invalid parameter number

I'm using the model view controller, I have a problem where I'm long error indicated in the title in the line of: "if ($ stmt-> execute ()) {", does not generate the user in the database and is what most It is bothering me, I attach the git link in case someone wants to execute it:
https://github.com/gabrielaflores09/pos-muebles.git

I put the part of the code code that it carries out so that they can guide me:

This is the code of the connection to the BD

class Conexion {
  static public function connect () {
    $ link = new PDO ("mysql: host = localhost; dbname = pos", "root", "");
    $ link -> exec ("set names utf8");
    return $ link;
   }

}

This is the driver's

class UserController {static public function ctrCreateUser () {

    if (isset ($ _ POST["nuevoUsuario"])) {

        if (preg_match ("/ ^[a-zA-Z0-9ñÑáéíóúÁÉÍÓÚ ]+ $ / ", $ _POST["nuevoNombre"]) &&
             preg_match ("/ ^[a-zA-Z0-9ñÑáéíóúÁÉÍÓÚ]+ $ / ", $ _POST["nuevoUsuario"]) &&
             preg_match ("/ ^[a-zA-Z0-9]+ $ / ", $ _POST["nuevaContraseña"])) {

            $ table = "user";

            $ data = array ("username" => $ _POST["nuevoNombre"],
                            "nickUser" => $ _POST["nuevoUsuario"],
                            "user password" => $ _POST["nuevaContraseña"],
                            "user profile" => $ _POST["nuevoPerfil"]);

            $ answer = User Model :: mdlInstoreUser ($ table, $ data);

             if ($ answer == "ok") {

                    threw out '';
            }
            } else {

            threw out '';
        }
    }

}

And the latter is the model:

                require_once: "conexion.php"; class User Model {static public function mdlInstoreUser ($ table, $ data) {

    $ stmt = Connection :: connect () -> prepare ("INSERT INTO
        $ table (username, nickUser, passwordUser, user profile, photoUser)
        VALUES (: userName,: username nick,: user password,: user profile,: photouser) ");

    $ stmt-> bindParam (": username", $ data["nombreUsuario"], PDO :: PARAM_STR);
    $ stmt-> bindParam (": nickUser", $ data["nickUsuario"], PDO :: PARAM_STR);
    $ stmt-> bindParam (": userPassword", $ data["contraseñaUsuario"], PDO :: PARAM_STR);
    $ stmt-> bindParam (": user profile", $ data["perfilUsuario"], PDO :: PARAM_STR);

    if ($ stmt-> execute ()) {
        return "ok";
    } else {
        return "error";
    }
    $ stmt -> close ();
    $ stmt = null;
}

}