PHP MySQL INSERT拉'?' 作为价值观

I have a page to register users and followed phpacademy's tutorials on 'PHP OOP Login/Register System'. It was working fine until I checked again today and errors everytime. I'm not sure what has changed but I can now see that my VALUES are being entered as '?'.

    if(Input::exists()) {
    if(Token::check(Input::get('token'))) {
        $validate = new Validate();
        $validation = $validate->check($_POST, array(
            'Username' => array(
                    'required' => true,
                    'min' => 2,
                    'max' => 40,
                    'unique' => 'user'
                ),
            'password' => array(
                'required' => true,
                'min' => 6
            ),
            'password_again' => array(
                'required' => true,
                'matches' => 'password'
            ),
            'UserFName' => array(
                'required' => true,
                'min' => 2,
                'max' => 50
            ),
            'UserLName' => array(
                'required' => true,
                'min' => 2,
                'max' => 50
            ),
            'UserEmail' => array(
                'required' => true
            ),
        ));

        if($validation->passed()) {
            $user = new User();

            $salt = Hash::salt(32);

            try {

                $user->create(array(
                        'UserFName' => Input::get('UserFName'),
                        'UserLName' => Input::get('UserLName'),
                        'UserEmail' => Input::get('UserEmail'),
                        'DepartmentId' => 1,
                        'Username' => Input::get('Username'),
                        'Password' => Hash::make(Input::get('password'), $salt),
                        'salt' => $salt,
                        'group' => 1
                    ));
                Session::flash('home', 'You have been registered and can now log in!');
                Redirect::to('index.php');

            } catch(Exception $e) {
                die($e->getMessage());
            }
        } else {
            foreach($validation->errors() as $error) {
                echo $error, '<br>';
            }
        }
    }
}


<form action="" method="post">
<fieldset>
    <legend>Enter Details Below</legend>
<p>
    <label class="field" for="UserFName">First Name: </label>
    <input type="text" name="UserFName" id="UserFName" value="<?php echo escape(Input::get('UserFName')); ?>" autocomplete="off">
</p>
<p>
    <label class="field" for="UserLName">Last Name: </label>
    <input type="text" name="UserLName" id="UserLName" value="<?php echo escape(Input::get('UserLName')); ?>" autocomplete="off">
</p>
<p>
    <label class="field" for="UserEmail">Email: </label>
    <input type="text" name="UserEmail" id="UserEmail" value="<?php echo escape(Input::get('UserEmail')); ?>" autocomplete="off">
</p>

<p>
    <label class="field" for="Username">Username: </label>
    <input type="text" name="Username" id="Username" value="<?php echo escape(Input::get('Username')); ?>" autocomplete="off">
</p>

<p>
    <label class="field" for="password">Password: </label>
        <input type="password" name="password" id="password">
</p>

<p>
    <label class="field" for="password_again">Re-enter Password: </label>
        <input type="password" name="password_again" id="password_again">
</p>

<input type="hidden" name="token" value="<?php echo Token::generate(); ?>">

<input type="submit" value="Register">

So, no matter what I enter I receive the error 'There was a problem creating your account.'

When doing a print_r($validate); or print_r($user) the result shows '?' as the VALUES in the INSERT query.

Validate Object ( [_passed:Validate:private] => 1 [_errors:Validate:private] => Array ( ) [_db:Validate:private] => DB Object ( [_pdo:DB:private] => PDO Object ( ) [_query:DB:private] => PDOStatement Object ( [queryString] => INSERT INTO user (`UserFName`, `UserLName`, `UserEmail`, `DepartmentId`, `Username`, `Password`, `salt`, `group`) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ) [_error:DB:private] => 1 [_results:DB:private] => Array ( ) [_count:DB:private] => 0 ) )

I am completely stumped!