Advertisement
Guest User

Untitled

a guest
Feb 7th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.54 KB | None | 0 0
  1. <?php
  2.  
  3. namespace Project\System\Database;
  4.  
  5. class PDOMySQLConnectionDescriptor extends PDOConnectionDescriptor
  6. {
  7.  
  8.     protected function createPdoObject (DatabaseConnectConfig $_databaseConnectConfig): \PDO
  9.     {
  10.         // Подключение к базе данных MySQL с помощью вызова драйвера.
  11.         $dsn = 'mysql:dbname=' . $_databaseConnectConfig->getDbname ()
  12.             . ';host=' . $_databaseConnectConfig->getHost ()
  13.             . ';port=' . $_databaseConnectConfig->getPort ()
  14.             . ';charset=' . $_databaseConnectConfig->getCharset ();
  15.         $user = $_databaseConnectConfig->getUser ();
  16.         $password = $_databaseConnectConfig->getPassword ();
  17.  
  18.         $pdo = new \PDO ($dsn, $user, $password);
  19.  
  20.         // Включаем обработку ошибок БД через исключения.
  21.         $pdo->setAttribute (\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
  22.  
  23.         // Выключаем режим эмуляции подготовленных параметров.
  24.         // Данные будут передаваться pdo в чистом виде в отдельном обращении к БД.
  25.         // Можно использовать обычную обработку параметра LIMIT (LIMIT ?),
  26.         // нельзя использовать именованные параметры несколько раз (user_from = :id or user_to = :id).
  27.         $pdo->setAttribute (\PDO::ATTR_EMULATE_PREPARES, false);
  28.  
  29.         return $pdo;
  30.     }
  31.  
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement