UPDATE
Я делал небольшую ошибку при перечислении VALUES. Я должен был бы поставить ": имя пользователя", а не ": псевдоним". Я полагаю, что ответ на этот вопрос является свободным правлением для всех, кто этого хочет? Или я могу удалить вопрос?
ОРИГИНАЛ
Я использую активный шаблон записи Yii. Теперь мой проект должен получить доступ к другой базе данных для одной небольшой транзакции. Я думал, что Yii DAO будет хорошо для этого. Тем не менее, я получаю загадочную ошибку.
CDbCommand не смог выполнить инструкцию SQL: SQLSTATE [HY093]: Недопустимый номер параметра: параметр не определен
Вот мой код:
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));
}
Это создает следующий запрос (как видно из журнала приложения):
INSERT INTO users (username, password, ssn, surname, firstname, email
, city, country)
VALUES(:alias, :password, :ssn, :surname, :firstname, :email, :city, :country);
FYI $model->placeOfBirth
должен находиться как в городских, так и в уездных значениях. Это не опечатка (просто глупая вещь, которую я должен сделать).