Соединение устанавливается путем создания экземпляра базового класса PDO. Независимо от того, какой драйвер используется, используется имя класса PDO.
<?php$dbh = новый PDO('mysql:host=localhost;dbname=test', $user, $pass);?>
Примечание. При возникновении ошибок подключения будет создан объект исключения PDOException.
<?phptry {$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); foreach($dbh->query('SELECT * from FOO') as $row) { print_r ($row); } $dbh = null;} catch (PDOException $e) { print "Error!: " $e->getMessage() . "<br/>"; умереть();}?>
После успешного подключения данных в сценарий возвращается экземпляр класса PDO. Это соединение остается активным в течение жизненного цикла объекта PDO.
Чтобы закрыть соединение, вам необходимо уничтожить объект, чтобы гарантировать, что все оставшиеся ссылки на него будут удалены. Вы можете присвоить переменной объекта значение NULL.
Если вы этого не сделаете, PHP автоматически закроет соединение в конце скрипта.
<?php$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass // Используем соединение здесь // Теперь выполнение завершено, закройте соединение здесь $dbh = null); ;? >
Многие веб-приложения получают выгоду от использования постоянных подключений к службам баз данных.
Постоянные соединения не закрываются после завершения сценария, а кэшируются и повторно используются при выполнении другого запроса на подключение сценария с использованием тех же учетных данных.
Постоянное кэширование соединений может ускорить работу веб-приложений, избегая накладных расходов на установление нового соединения каждый раз, когда сценарию необходимо связаться с базой данных.
<?php$dbh = новый PDO('mysql:host=localhost;dbname=test', $user, $pass, array(PDO::ATTR_PERSISTENT => true));?>
Примечание. Если вы хотите использовать постоянные соединения, вы должны установить PDO::ATTR_PERSISTENT в массиве параметров драйвера, передаваемом конструктору PDO. Если этот атрибут установлен с помощью PDO::setAttribute() после инициализации объекта, драйвер не будет использовать постоянные соединения.