подскажите почему данные не записываются в БД php

не могу понять почему данные не записываются в базу данных

<?php

// namespace App\Services;

class App{
  private $db;

  public function __construct($host = "localhost", $db_name = "php_bomb", $username ="root", $userpassword = "root"){
     try{
       $this->db = new PDO('mysql:host='.$host.';dbname='.$db_name.';charset=utf8', $username, $userpassword);
     }catch(PDOException $e){
        header('Location: errors/db_error.php');
        print "Error!: " . $e->getMessage();
      }
  }

  public function insert($query, $params = []){
    $stmt = $this->db->prepare($query);
    $stmt->execute($params);
  } 
       
}

$insert = new App;

$insert->insert("INSERT INTO `users` (`login`, `email`, `password`, `passwordConfirm`) VALUES (:login, :email, :password, :passwordConfirm)", 
[
  ':login' => $_POST['login'],
  ':email' => $_POST['email'],
  ':password' => $_POST['password'],
  ':passwordConfirm' => $_POST['passwordConfirm']
]);
Но если вставить просто строки то все записывается

$insert->insert("INSERT INTO `users` (`login`, `email`, `password`, `passwordConfirm`) VALUES (:login, :email, :password, :passwordConfirm)", 
[
  ':login' => "14421244114",
  ':email' =>  "14421244114",
  ':password' =>  "14421244114",
  ':passwordConfirm' =>  "14421244114"
]);

index.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
    <form method="post" action="app/Services/App.php">
        <input type="text" name="login" placeholder="Логин"><br>
        <input type="email" name="email" placeholder="Email"><br>
        <input type="password" name="password" placeholder="Пароль"><br>
        <input type="password" name="passwordСonfirm" placeholder="Повторите пароль"><br>
        <button type="submit">Зарегистрироваться</button>
    </form>


</body>
</html>

Ответы (0 шт):