Варианта может быть два, или у вас ошибка при подключение к базе данных, надо проверять, что соединение установлено и проверять на успешное выполнение запроса:
$login = filter_var(trim($_POST['login']), FILTER_SANITIZE_STRING);
$password = filter_var(trim($_POST['password']), FILTER_SANITIZE_STRING);
$mysql = new mysqli('localhost', 'root', 'root', 'reg-bd');
if ($mysql->connect_errno) {
exit('Ошибка при соединении с базой данных: ' . $mysql->connect_error);
}
$result = $mysql->query("SELECT * FROM `users` WHERE `login` = '$login' AND `password` = '$password'");
if (!$result)
{
exit('Ошибка при выполнении запроса: ', $mysql->error);
}
$user = $result->fetch_assoc();
setcookie('user', $user['name'], time() + 3600, "/");
//что бы проверить, что в переменно что то есть, можно вывести ее через: var_dump($user)