参数号无效:参数未定义[关闭]

i was having some issues with the verification code generation, i am still new to php and this is the code i try to modify

and i got this error

SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

my code below:

if(!isset($error)){

    //hash the password
    $hashedpassword = $user->password_hash($_POST['password'], PASSWORD_BCRYPT);

    //create the activation code
    function randomActivation() {
$alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
$pass = array(); //remember to declare $pass as an array
$alphaLength = strlen($alphabet) - 1; //put the length -1 in cache
for ($i = 0; $i < 4; $i++) {
    $n = rand(0, $alphaLength);
    $pass[] = $alphabet[$n];
}

return implode($pass); //turn the array into a string}



$newactive = randomActivation();  
$activasion = md5(uniqid(rand(),true)); 

    try {

        //insert into database with a prepared statement
        $stmt = $db->prepare('INSERT INTO members (username,password,email,active,ActivationCode) VALUES (:username, :password, :email, :active, :newactive)');
        $stmt->execute(array(
            ':username' => $_POST['username'],
            ':password' => $hashedpassword,
            ':email' => $_POST['email'],
            ':active' => $activasion,
            ':ractive' => $newactive
        ));
        $id = $db->lastInsertId('memberID');

        //send email
        $to = $_POST['email'];
        $subject = "Registration Confirmation";
        $body = "Thank you for registering at demo site.

 To activate your account, Please enter the verification Code $newactive

 Regards Site Admin 

";
        $additionalheaders = "From: <".SITEEMAIL.">
";
        $additionalheaders .= "Reply-To: $".SITEEMAIL."";
        mail($to, $subject, $body, $additionalheaders);

        //redirect to index page
        header('Location: index.php?action=joined');
        exit;

    //else catch the exception and show the error.
    } catch(PDOException $e) {
        $error[] = $e->getMessage();
    }

You have

:newactive in the query

and binding

:ractive' => $newactive

So change it to

:newactive' => $newactive