“Número de parâmetro inválido: parâmetro não definido” Inserir dados

ATUALIZA

Eu estava cometendo um pequeno erro ao listar os VALUES. Eu deveria ter colocado ": username" e não ": alias". Suponho que o crédito da resposta a esta pergunta seja o reino livre para quem quiser? Ou excluo a pergunta?

ORIGINA

Estou usando o padrão de registro ativo do Yii há algum tempo. Agora, meu projeto precisa acessar um banco de dados diferente para uma pequena transação. Eu pensei que o DAO do Yii seria bom para isso. No entanto, estou recebendo um erro enigmático.

CDbCommand falhou ao executar a instrução SQL: SQLSTATE [HY093]: número de parâmetro inválido: o parâmetro não foi definido

Aqui está o meu código:

public function actionConfirmation
{
    $model_person = new TempPerson();

    $model = $model_person->find('alias=:alias',array(':alias'=>$_GET['alias']));
    $connection=Yii::app()->db2;
            $sql = "INSERT INTO users (username, password, ssn, surname
                    , firstname, email, city, country) 
                    VALUES(:alias, :password, :ssn, :surname
                    , :firstname, :email, :city, :country)";
            $command=$connection->createCommand($sql);
            $command->bindValue(":username", $model->alias);
            $command->bindValue(":password", substr($model->ssn, -4,4));
            $command->bindValue(":ssn", $model->ssn);
            $command->bindValue(":surname", $model->lastName);
            $command->bindValue(":firstname", $model->firstName);
            $command->bindValue(":email", $model->email);
            $command->bindValue(":city", $model->placeOfBirth);
            $command->bindValue(":country", $model->placeOfBirth);
            $command->execute();
            $this->render('confirmation',array('model'=>$model));
}

This constrói a seguinte consulta (como visto no log do aplicativo):

INSERT INTO users (username, password, ssn, surname, firstname, email
                   , city, country) 
VALUES(:alias, :password, :ssn, :surname, :firstname, :email, :city, :country);

PARA SUA INFORMAÇÃO$model->placeOfBirth deve estar nos valores da cidade e do condado. Isso não é um erro de digitação (apenas uma coisa boba que tenho que fazer

questionAnswers(4)

yourAnswerToTheQuestion