Не добавляются данные в базу данных PDO

Имеется два файла, обработчик и файл с функциями. Существует несколько проверок на пустоту полей, а также на логин. Следующий файл это добавление пользователя в дб. Все эти проверки проходят отлично без ошибок, но когда приходит дело до добавления, все нормально, но данные не добавляются в базу.

Файл vendor/reg.php

session_start();
require_once 'database.php';
require_once 'basic.php'; // здесь базовые функции которые не отвечают за регистрацию
require_once 'register.php';

/* Получаем данные */
$login = htmlspecialchars($_POST['login']);
$email = htmlspecialchars($_POST['email']);
$password = htmlspecialchars($_POST['password']);
$password_confirm = htmlspecialchars($_POST['password_confirm']);

checkPost($login, $email, $password, $password_confirm);
storeUser($login, $email, $password);

Файл с функциями для регистрации

<?php
function checkPost($login, $email, $password, $password_confirm){
    $dbh = new PDO('mysql:host=localhost;dbname=localdb', 'root', 'root');

    if(
        $login === '' ||
        $email === '' ||
        $password === '' ||
        $password_confirm === '' ||
        !filter_var($email, FILTER_VALIDATE_EMAIL)
    ){
        $_SESSION['error'] = true;
        $_SESSION['error_message'] = 'Проверьте правильность введенных полей';
        header('Location: /register');
        exit();
    }

    if($password !== $password_confirm){
        $_SESSION['error'] = true;
        $_SESSION['error_message'] = 'Пароли не совпадают';
        header('Location: /register');
        exit();
    }

    $query = $dbh->prepare("SELECT * FROM `users` WHERE login=:login");
    $query->bindParam(':login',$login);
    $query->execute();
    $count = $query->rowCount();
    if ($count > 0) {
        $_SESSION['error'] = true;
        $_SESSION['error_message'] = 'Пользователь с данным логином уже существует';
        header('Location:../register.php');
        exit();
    }
    $query= null;
    $dbh = null;
}
function storeUser($login, $email, $password){
    $dbh = new PDO('mysql:host=localhost;dbname=lowguru', 'root', '');
    $store_user = $dbh->prepare("INSERT INTO `users` (`login`, `email`, `password`) VALUES (:login, :email, :password)");
    $store_user->execute([
        "login" => $login,
        "email" => $email,
        "password" => password_hash($password, PASSWORD_DEFAULT)
    ]);
    $store_user = null;
    $_SESSION['success'] = true;
    $_SESSION['success_message'] = 'Вы успешно создали учетную запись.';
    header('Location: /');
    $dbh = null;
}

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

Автор решения: lowanda777

В базе данных указано максимальное количество символов 32 в поле password , а для password_hash надо 60. После этого все заработало.

→ Ссылка