Я хочу найти роль пользователя для соответствующего идентификатора и электронной почты зарегистрированного пользователя. Ниже мой wbuser классYii queryScalar() с запросами mysql?
Я получаю следующее сообщение об ошибке
Error 500
CDbCommand failed to execute the SQL statement: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
здесь мой код
<?php
class WebUser extends CWebUser {
public $role;
public $role2;
public function getRole2() {
if ($this->role2 === null) {
// Here you need to get User role
$this->role2 = Yii::app()->db->createCommand("SELECT email FROM {{students}} WHERE id=:id AND role=1")->queryScalar(array(':id' => Yii::app()->user->id));
}
return $this->role2;
}
public function getRole(){
if ($this->role === null) {
// Here you need to get User role
$this->role = Yii::app()->db->createCommand("SELECT role FROM {{students}} WHERE id=:id AND email=':email'")->queryScalar(array(':id' => Yii::app()->user->id,':email' => $this->role2,));
}
return $this->role;
}
}
Удалить отдельные кавычки вокруг ': email' – Stalinko