The code supplied doesn't work at all for me - @ or no @, and was silently failing. Echoing out the query and putting it into PhpMyAdmin threw up an error (turned out the query was malformed, and data being inserted was not quoted at all).
I've tried this on a MAMP installation running PHP 5.4.
Changing this:
$dbh->query("INSERT INTO users (username,password,email,friendcode,rating)
VALUE ('.$username.','.$password.','.$email.','.$friendCode.','.$rating.'));
To this (note the double quotes, and removing '.' works:
$dbh->query("INSERT INTO users (username,password,email,friendcode,rating)
VALUES ('$username','$password','$email','$friendCode','$rating')");
Better still, don't concatenate raw post data into the query - try this instead:
$stmt = $dbh->prepare("INSERT INTO users (username,password,email,friendcode,rating)
VALUES (?,?,?,?,?)");
$stmt->execute(array($username, $password, $email, $friendCode, $rating));
One other thing - your columns (as shown by your screenshot) are ascii_general_ci, not utf8
Hope this helps.