PDO
PDO позволяет работать с различными базами данных, использую один и тотже API. Например, при смене базы данных с MySQL на PostgreSQL, надо будет просто указать данные новой базы данных, не меняя сам код под новую базу данных.
На примере ниже указан пример подключения к базе данных через PDO.
// Настройки подключения к базе данных $dbc = []; $dbc['user'] = 'user'; $dbc['password'] = 'pass'; $dbc['host'] = 'localhost'; $dbc['table'] = 'my_database'; $dbc['dsn'] = 'mysql:host='.$dbc['host'].';dbname='.$dbc['table'].';charset=utf8'; // Подключение через PDO try { $db = new PDO($dbc['dsn'], $dbc['user'], $dbc['password']); } catch (PDOException $e) { print 'Ошибка: '.$e->getMessage(); die(); } unset($dbc);
Выборка записей
Чтобы выполнить запрос, его сначала надо определить через метод prepare()
, в котором надо указать места, которые заполняются через переменные (например «:name»). Это сделано для защиты от SQL-инъекций.
Затем выполнить запрос через метод execute()
.
// Выполнение SQL-запроса $stmt = $db->prepare('SELECT id,name FROM users WHERE id=:user_id'); $stmt->execute(['user_id' => $user_id]); // Вывод данных while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo $row['name']; }
Данные, переданные через «:name» обрамляются кавычками. Т.е. строка «id=:user_id» сгенерируется в «id="15"».
Поддерживаемые базы данных
Узнать, какие базы данных поддерживает PDO можно через метод PDO::getAvailableDrivers()
.
PDO::getAvailableDrivers(); // Array ( [0] => mysql [1] => sqlite )
Поддержать автора