Voilà pour PDO : http://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-php-et-mysql/lire-des-donnees-2
Dans ces quelques pages, tu as les bases : Lire les données, enregistrer, modifier, effacer.
Bref, concernant ton problème, c'est parce que tu inverses ; et }. La syntaxe, c'est ça :
if (strlen ($password, 'UTF-8') > 18) {
$msg = "Mot de passe trop long, saisir un mot de moins de 18 caractères <br/>";
}