PDO підключення
PDO з'єднання не закриваються при завершенні роботи скрипта, вони кешуються і використовуються повторно, коли інший скрипт запитує з'єднання з тими самими обліковими даними. Постійні з'єднання дозволяють уникнути створення нових підключень щоразу, коли потрібен обмін даними з базою, що в результаті дає приріст швидкості роботи таких програм.
--
Офіційний довідник - https://www.php.net/manual/ru/book.pdo.php
--
Щоб примусово закрити з'днання:
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// здесь мы каким-то образом используем соединение
$sth = $dbh->query('SELECT * FROM foo');
// з'днання більше непотрібно тому його закриваємо:
$sth = null;
$dbh = null;
Якщо ж навпаки - потрібні постійні з'єднання:
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
PDO::ATTR_PERSISTENT => true
));
Значення параметра PDO::ATTR_PERSISTENT перетворюється на логічне значення (bool) (увімкнути/вимкнути постійні підключення), якщо це не числовий рядок (string), який у цьому випадку дозволяє використовувати кілька пулів постійних підключень. Це корисно, якщо різні з'єднання використовують несумісні налаштування, наприклад різні значення
Метод fetch()
Для вибірки даних та отримання готового результату можна використовувати метод fetch() об'єкта PDOStatement
Найбільш поширені:
- PDO::FETCH_COLUMN
- PDO::FETCH_KEY_PAIR
- PDO::FETCH_UNIQUE
- PDO::FETCH_GROUP
- Більше про метод fetch()