setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->beginTransaction(); $q = $db->prepare("INSERT INTO $DATABASE_REALM_NAME.account (username, sha_pass_hash, email) VALUES(:username,:password,:email)"); $q->execute( array( ':username' => $_POST['username'], ':password' => strtoupper( sha1( strtoupper($_POST['username']) . ":" . strtoupper($_POST['password']) ) ), ':email' => $_POST['email'] ) ); $db->commit(); } catch(PDOException $e) { switch($e->errorInfo[1]) { case 1062: print "Account already exists."; break; default: print $e->getMessage(); break; } $db->rollback(); die; } print "Account created."; ?>