require_once('bd.php');
$task = $_POST['task'];
if($task = '') {
echo 'Вы ничего не ввели';
exit();
}
$sql = 'INSERT INTO task(task) VALUES(:task)';
$query = $pdo->prepare($sql);
$query->execute(['task' => $task]);
echo $task;
if(""===$task)
require_once('bd.php');
if(empty($_POST['task'])) exit('Вы ничего не ввели');
$sql = 'INSERT INTO task(task) VALUES(:task)';
$query = $pdo->prepare($sql);
$query->execute(['task' => $_POST['task']]);
echo $_POST['task'];
в данной задаче нет ни слова о типах, только о проверке на то, что переменная не пустая. Поэтому спор == или === совершенно беспочвенный. А чтобы однозначно избежать неопределённости и решить задачу проверки на то, что переменная не пустая, используем функцию empty().
"Бывают ситуации" это за пределами рассматриваемого условия.
вы не автор вопроса. Вы вклинились в обсуждение, придумали какие-то свои дополнительные условия, которых не было в вопросе и теперь самоутверждаетесь в теме рассказывая, что ваше мнение самое правильное если рассматривать именно ваши уточнения, а не исходный вопрос.
Играйте в эти игры сами.