Подключение к базе данных

Подключение к базе данных





Для примера используем базу данных test2 из раздела PHP MVC


Таблица news базы данных test2:


MVC-4-1




С помощью ключевого слова new создаем объект класса PDO и сохраняем его в переменной $pdo:


$pdo = new PDO ('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 PDO ('mysql:host=localhost;dbname=test2';charset=utf-8, 'root', '');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch{
exit ('Ошибка подключения: <br>' . $e -> getMessage());
}
?>


Если, например, записать несуществующую базу данных - test3, то получим ошибку подключения:


Ошибка подключения:
SQLSTATE[HY000] [1049] Unknown database 'test3' - неизвестная база данных







Наверх Наверх