Die Syntax sollte eigentlich passen.
Was kommt bei folgender Abfrage raus:
hast du mal ein Insert nur mit E-Mail und Passwort auf der DB probiert?
Was kommt bei folgender Abfrage raus:
PHP:
$statement = $pdo->prepare("INSERT INTO users (email, passwort) VALUES (:email, :passwort)");
$result = $statement->execute(array('email' => $email, 'passwort' => $passwort_hash));
var_dump($statement-> errorInfo());
hast du mal ein Insert nur mit E-Mail und Passwort auf der DB probiert?