подскажите почему данные не записываются в БД 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>