PDO
Подключение к базе данных.
Синтаксис
new PDO(string $dsn, ?string $username = null, ?string $password = null, ?array $options = null)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| $dsn | string | Строка подключения: тип базы, адрес сервера, название базы. |
| $username | ?string | Необязательный. Имя пользователя. |
| $password | ?string | Необязательный. Пароль. |
| $options | ?array | Необязательный. Настройки подключения. |
Возвращаемое значение
PDOОбъект с методами `query()`, `prepare()`, `exec()`, `beginTransaction()`.
Примеры
Подключение, создание таблицы и запрос:
<?php
$pdo = new PDO('sqlite::memory:');
$pdo->exec('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)');
$pdo->exec("INSERT INTO users (name) VALUES ('Anna'), ('Oleg')");
echo $pdo->query('SELECT COUNT(*) FROM users')->fetchColumn();Результат:
2Транзакция:
<?php
$pdo = new PDO('sqlite::memory:');
$pdo->exec('CREATE TABLE accounts (id INTEGER PRIMARY KEY, balance INTEGER)');
$pdo->exec('INSERT INTO accounts (balance) VALUES (500), (100)');
$pdo->beginTransaction();
$pdo->exec('UPDATE accounts SET balance = balance - 200 WHERE id = 1');
$pdo->exec('UPDATE accounts SET balance = balance + 200 WHERE id = 2');
$pdo->commit();
echo implode(', ', $pdo->query('SELECT balance FROM accounts')->fetchAll(PDO::FETCH_COLUMN));Результат:
300, 300Примечания
Строка подключения к MySQL выглядит так: mysql:host=localhost;dbname=shop;charset=utf8mb4. Данные от пользователя передавайте только через prepare(), а не подставляйте в текст запроса.
См. также
- PDOStatement — Подготовленный запрос и его результат.
- Exception — Базовый класс исключений.
Вопросы и ответы по теме
- Как вывести записи из базы постранично
- Как выполнить несколько запросов в транзакции
- Как добавить запись в базу данных
- Как изменить запись в базе данных
- Как найти записи по части строки
- Как подключиться к базе данных
- Как подключиться к MySQL через MySQLi
- Как получить строки из базы данных
- Как получить id добавленной записи
- Как посчитать количество записей в таблице
- Как проверить, есть ли запись в базе данных
- Как удалить запись из базы данных
В учебнике
- Подключение к базе данных — Работа с базой данных в PHP через PDO — подключение, создание таблицы, выборка строк и обработка ошибок.