Anda kehilangan beberapa placeholder di parameter pengikatan Anda, periksa dengan cermat
$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
Anda mungkin ingin memeriksa pdo errors
, berikut contoh yang diambil dari manual
$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Dengan atribut ini ditambahkan dengan benar, pdo akan memberi tahu Anda jika terjadi kesalahan