Учебное пособие, которое вы используете, немного устарело. И основная часть:
die('Could not connect.');
Это неприятное утверждение, которое, к сожалению, блуждает от одного устаревшего учебника к другому. Мне даже пришлось написать специальный ответ о переполнении стека, объясняющий , почему это плохо . Дело в том, что PDO уже имеет ответ, почему вы не можете подключиться. Но этот код эффективно отключает его.
Итак, вопрос в том, как правильно подключиться к PDO, как он скажет вам что, безусловно, идет не так , когда что-то идет не так? И здесь идет мой собственный учебник, полностью посвященный вопросу Как подключиться к MySQL с помощью PDO .
$host = '127.0.0.1';
$db = 'mytodo';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';
$options = [
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
\PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
\PDO::ATTR_EMULATE_PREPARES => false,
];
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
try {
$pdo = new \PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
Здесь вы можете увидеть правильный код подключения, который выполняет множество задач, которыепросто пропустил в своем уроке. Среди них он говорит вам, что является реальной проблемой.
Итак, вы должны изменить свой код и запустить его снова. Тогда он покажет вам фактическое сообщение об ошибке. Затем вам нужно будет либо сразу прочитать и исправить это, либо Google получить сообщение, которое вы получили, и найти решение здесь, на переполнение стека.