Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
При регистрации вылазит ошибка.
функция регистрации
public function Register($params)
{
if($this->isUserLogged())
{
return $this->redirectLocal('');
}
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$service = $this->app->makeService('User');
$user = array();
$user['username'] = $_POST['username'];
$user['password'] = $_POST['password'];
$user['email'] = $_POST['email'];
$user['name'] = $_POST['name'];
$user['surname'] = $_POST['surname'];
$user['address'] = $_POST['address'];
$user['is_admin'] = false;
$id = $service->addUser($user);
if($id)
{
$user['id'] = $id;
$this->userLogin($user);
return $this->redirectLocal('');
}
else
{
return $this->render('user/register', ['error' => 'Ошибка']);
}
}
else
{
return $this->render('user/register');
}
}
services\UserService.php on line 76 здесь показывает ошибку
public function addUser($user)
{
$sql = "INSERT INTO users(username, password, email, name, surname, address, is_admin) VALUES
(:username, :password, :email, :name, :surname, :address, :is_admin)";
$sth = $this->db->prepare($sql);
if($sth->execute($user))
return $this->db->lastInsertId();
else
return false;
}
Источник: Stack Overflow на русском