PDO
Подключение к базе данных
Для примера используем базу данных test2 из раздела PHP MVC
Таблица news базы данных test2:
С помощью ключевого слова new создаем объект класса PDO и сохраняем его в переменной $pdo:
$pdo = new
('mysql:host=localhost;dbname=test2';charset=utf-8, 'root', '');
- где первый обязательный параметр - это строка подключения 'mysql:host=localhost;dbname=test2':
mysql - СУБД, к которой нужно подключиться (MySQL);
host=localhost - путь к серверу базы данных (localhost);
dbname=test2 - имя базы данных (test2),
charset=utf-8 - задаем кодировку (utf-8);
- второй параметр - имя пользователя - 'root';
- третий - пароль - в нашем случае его нет - ''.
Для обработки ошибок весь код можно заключать в блок try(),
а перехват ошибок осуществляется в блоке catch().
В качестве параметра в блок catch() передаем переменную $e, и указываем, что эта переменная - объект класса PDOException - специальный класс для обработки ошибок, связаных с расширением PDO.
Реализуем в блоке catch() простейший функционал: exit ($e -> getMessage()); - отобразим на экран содержимое ошибки и завершим работу.
Указываем настройки для обработки ошибок:
- обращаемся к объекту PDO и вызываем метод setAttribute() в качестве параметров указываем с какой настройкой мы хотим работать:
PDO::ATTR_ERRMODE - режим сообщений об ошибках (https://www.php.net/manual/ru/pdo.setattribute.php)
PDO::ERRMODE_EXCEPTION - выбрасывать исключения.
Файл index.php
-- файл index.php --
<?php
// Подключение к базе данных
try{
$pdo = new
('mysql:host=localhost;dbname=test2';charset=utf-8, 'root', '');
$pdo-> ( ::ATTR_ERRMODE, ::ERRMODE_EXCEPTION);
}catch{
exit ('Ошибка подключения: <br>' . $e -> ());
}
?>
Если, например, записать несуществующую базу данных - test3, то получим ошибку подключения:
Ошибка подключения:
SQLSTATE[HY000] [1049] Unknown database 'test3' - неизвестная база данных
Наверх Наверх