“参数编号无效:未定义参数”插入数据
我已经使用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