Brakuje elementu zastępczego w parametrach wiązania, sprawdź je dokładnie
$sql->bindParam(":address1", $_POST['address1'],PDO::PARAM_STR);
$sql->bindParam(":address2", $_POST['city'],PDO::PARAM_STR);
//address2 was missed, probably error is column doesn't match values
$sql->bindParam(":email", $_POST['email'],PDO::PARAM_STR); //supposed to be mail
$sql->bindParam(":imea", $_POST['imea'],PDO::PARAM_STR); //supposed to be iama
Możesz chcieć sprawdzić błędy pdo
, tutaj przykład zaczerpnięty z podręcznika
$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Po prawidłowym dodaniu tego atrybutu, pdo powiadomi Cię o wystąpieniu błędu