Example #1
1
function createPDO()
{
    $pdo = new \PDO('mysql:host=' . BOT_DB_HOST . ';dbname=' . BOT_DB_NAME . ';charset=utf8', BOT_DB_USER, BOT_DB_PASSWORD);
    $pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
    $pdo->setAttribute(\PDO::ATTR_EMULATE_PREPARES, false);
    return $pdo;
}
Example #2
1
 /**
  * 根据读写性要求设置一个适合的pdo对象
  * 
  * @param $rw 服务器的读写性
  * @return object
  */
 public function getConnection($rw = 'rw')
 {
     $params = $this->_params;
     //如果是只读查询,从所有服务器中随机挑选一台
     if ($rw == 'r') {
         $rw = 'all';
     }
     if (isset($this->_pdos[$rw]) && $this->_pdos[$rw] instanceof PDO) {
         $this->_pdo = $this->_pdos[$rw];
         return $this->_pdo;
     }
     //随机从满足读写性要求的服务器中挑选出一台服务器
     $index = rand(0, sizeof($params[$rw]) - 1);
     $params = $params[$rw][$index];
     if (!isset($params['port'])) {
         $params['port'] = '3306';
     }
     $dsn = "mysql:host={$params['host']};port={$params['port']};dbname={$params['dbname']}";
     $pdo = new PDO($dsn, $params['username'], $params['password']);
     if ($params['persistent']) {
         $pdo->setAttribute(PDO::ATTR_PERSISTENT, true);
     }
     $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $pdo->exec("SET NAMES {$params['charset']}");
     $this->_pdo = $pdo;
     $this->_pdos[$rw] = $pdo;
     return $this->_pdo;
 }
 /**
  * @throws DBException
  * @return Resource
  */
 public function connect()
 {
     if ($this->link != null) {
         return true;
     }
     $_config = $this->config;
     $_dsn = "{$_config['db_type']}:host={$_config['db_host']};port={$_config['db_port']};dbname={$_config['db_name']}";
     try {
         $this->link = new PDO($_dsn, $_config['db_user'], $_config['db_pass'], array(PDO::ATTR_PERSISTENT => false));
         $this->link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
         //设置数据库编码,默认使用UTF8编码
         $_charset = $_config['db_charset'];
         if (!$_charset) {
             $_charset = 'UTF8';
         }
         $this->link->query("SET names {$_charset}");
         $this->link->query("SET character_set_client = {$_charset}");
         $this->link->query("SET character_set_results = {$_charset}");
     } catch (PDOException $e) {
         if (APP_DEBUG) {
             E("数据库连接失败" . $e->getMessage());
         }
     }
     return $this->link;
 }
Example #4
0
 /**
  * Setting default values on the PDO instance like errormode, encoding and
  * so on.
  */
 public function setDefaultAttributes()
 {
     $this->_pdo->setAttribute(\PDO::ATTR_CASE, \PDO::CASE_NATURAL);
     $this->_pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
     $this->_pdo->setAttribute(\PDO::ATTR_ORACLE_NULLS, \PDO::NULL_TO_STRING);
     $this->_pdo->query("SET NAMES utf8");
 }
Example #5
0
function getConnection()
{
    switch ($_SERVER['SERVER_NAME']) {
        case DEVELOPMENT:
            // development server
            //            header('Access-Control-Allow-Origin: http://localhost:9000');
            $dbhost = "localhost";
            $dbuser = "******";
            $dbpass = "";
            $dbname = "test";
            break;
        default:
            // live server
            //            header('Access-Control-Allow-Origin: http://beatle.par-ken.com');
            $dbhost = "sql.ayyayo.com";
            $dbuser = "******";
            $dbpass = "******";
            $dbname = "parken_healthylife";
            break;
    }
    $dbh = new PDO("mysql:host={$dbhost};dbname={$dbname}", $dbuser, $dbpass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    return $dbh;
}
Example #6
0
 /**
  * @param \PDO $conn
  * @return bool if connection if actually connected
  */
 public function set_connection(\PDO $conn)
 {
     $this->_connection = $conn;
     //Throw exeption when INSERT fail (Logs should made the whole app fail. Lol.)
     $this->_connection->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
     return $this->_is_connected();
 }
Example #7
0
function dbconnect()
{
    $db = new PDO('mysql:host=localhost;dbname=makfood;charset=utf8', 'root', '');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    return $db;
}
 protected function init()
 {
     if (!$this->is_initialised) {
         $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
         $this->is_initialised = TRUE;
     }
 }
Example #9
0
 /**
  * @param String $prefix the prefix of the table names.
  */
 public function __construct(\PDO $pdo, $prefix = "bav_")
 {
     $this->pdo = $pdo;
     $this->prefix = $prefix;
     $this->statementContainer = new StatementContainer($pdo);
     $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
 }
Example #10
0
    public function __construct($path)
    {
        if ($path !== ':memory:' && !is_file($path)) {
            touch($path);
            // ensures ordinary file permissions
        }
        $this->pdo = new \PDO('sqlite:' . $path);
        $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
        $this->pdo->exec('
			PRAGMA foreign_keys = ON;
			CREATE TABLE IF NOT EXISTS cache (
				key BLOB NOT NULL PRIMARY KEY,
				data BLOB NOT NULL,
				expire INTEGER,
				slide INTEGER
			);
			CREATE TABLE IF NOT EXISTS tags (
				key BLOB NOT NULL REFERENCES cache ON DELETE CASCADE,
				tag BLOB NOT NULL
			);
			CREATE INDEX IF NOT EXISTS cache_expire ON cache(expire);
			CREATE INDEX IF NOT EXISTS tags_key ON tags(key);
			CREATE INDEX IF NOT EXISTS tags_tag ON tags(tag);
			PRAGMA synchronous = OFF;
		');
    }
Example #11
0
function login()
{
    $db = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', 'root');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    if (!empty($_POST['contact_submitted'])) {
        $username = $_POST['username'];
        $password = $_POST['password'];
        $stmt = $db->prepare("SELECT * FROM users WHERE username=?");
        $stmt->execute(array($username));
        $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
        if (!$rows) {
            echo "<script>alert('wrong username/password');</script>";
        }
        /*
        Than we validate the password, if the validation is true than we set the sessions
        For more detailed information on password validation check please look into the
        Password storage(salting/stretching/hashing) in the knowledgebase for more information.
        */
        foreach ($rows as $loginUser) {
            if ($loginUser['password'] == $password) {
                session_start();
                $_SESSION['userID'] = $loginUser['userID'];
                $_SESSION['access'] = "active";
                //The CSRF token is set here by an aproved random number generator
                $_SESSION['csrf'] = base64_encode(openssl_random_pseudo_bytes(128));
                header("location:loggedin.php?userID=" . $loginUser['userID'] . "");
                return $loginUser;
            } else {
                echo "<script>alert('wrong password!');</script>";
            }
        }
    }
}
 /**
  * Connect to a database via FS_PDO
  *
  * @param mixed $dsn data source for database connection (array or string)
  * @param       $login
  * @param       $password
  */
 public function connect_db($dsn, $login, $password)
 {
     try {
         $this->db = new PDO($dsn, $login, $password);
     } catch (PDOException $e) {
         $this->debug($e->getMessage());
         $this->file_not_found();
         //program terminates in function file_not_found()
     }
     $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $this->db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
     $driver = $this->db->getAttribute(PDO::ATTR_DRIVER_NAME);
     $this->debug("our driver is {$driver}");
     switch ($driver) {
         case 'mysql':
             $quoter = '`';
             break;
         case 'pgsql':
             if (DEFAULT_DSN_SCHEMA) {
                 $this->db->exec('SET SEARCH_PATH=' . DEFAULT_DSN_SCHEMA);
             }
             $quoter = '"';
             break;
         default:
             $quoter = '';
             break;
     }
     define('DB_FIELD_QUOTE', $quoter);
 }
Example #13
0
function db_mysql_init(PDO $pdo)
{
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_EMPTY_STRING);
    $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, false);
    $pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
}
Example #14
0
 protected function setUp()
 {
     $this->PDO = DB::getInstance();
     $this->PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $this->PDO->exec('INSERT INTO `runalyze_training` (`accountid`) VALUES (0)');
     $this->ActivityID = $this->PDO->lastInsertId();
 }
Example #15
0
 protected function setUp()
 {
     $this->PDO = new PDO('sqlite::memory:');
     $this->PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $this->PDO->exec('CREATE TEMP TABLE `' . PREFIX . 'withoutid` ( `foo` VARCHAR(10), `arr` VARCHAR(100) )');
     $this->PDO->exec('CREATE TEMP TABLE `' . PREFIX . 'withid` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `foo` VARCHAR(10) )');
 }
 public static function connect($database)
 {
     $db = new PDO('mysql:host=' . constant('Y_003') . ';dbname=' . $database . ';charset=utf8', constant('Y_001'), constant('Y_002'));
     $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
     return $db;
 }
Example #17
0
 public function __construct($_uid)
 {
     try {
         // Connect to the data base and select it.
         $db = new PDO("mysql:host=localhost;dbname=Grad_Prog_V5;charset=utf8", "root", "200337226");
         $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
         $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
         $query = "SELECT * from Grad_Prog_V5.users where uid = " . $_uid;
         $statement = $db->prepare($query);
         $statement->execute();
         $result = $statement->fetchAll(PDO::FETCH_ASSOC);
         foreach ($result as $row) {
             $this->firstname = htmlspecialchars($row['first_name']);
             $this->lastname = htmlspecialchars($row['last_name']);
             $this->email = htmlspecialchars($row['email']);
             $this->phone = htmlspecialchars($row['phone_number']);
             $this->uid = $_uid;
         }
     } catch (PDOException $ex) {
         $studentslist .= "<p>oops</p>";
         $studentslist .= "<p> Code: {$ex->getCode()} </p>";
         $studentslist .= " <p> See: dev.mysql.com/doc/refman/5.0/en/error-messages-server.html#error_er_dup_key";
         $studentslist .= "<pre>{$ex}</pre>";
     }
 }
Example #18
0
 protected function configure()
 {
     $this->pdo = new \PDO($this->getOption('dsn'), $this->getOption('username'), $this->getOption('password'));
     $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
     $this->driverName = $this->pdo->getAttribute(\PDO::ATTR_DRIVER_NAME);
     $this->configureDriver();
 }
Example #19
0
function dbConnection()
{
    $dbHost = "";
    $dbPort = "";
    $dbUser = "";
    $dbPassword = "";
    $openShiftVar = getenv('OPENSHIFT_MYSQL_DB_HOST');
    if ($openShiftVar === null || $openShiftVar == "") {
        $dbHost = 'localhost';
        $dbUser = '******';
        $dbPassword = '******';
        $dbName = 'signup';
    } else {
        // In the openshift environment
        //echo "Using openshift credentials: ";
        $dbHost = getenv('OPENSHIFT_MYSQL_DB_HOST');
        $dbPort = getenv('OPENSHIFT_MYSQL_DB_PORT');
        $dbUser = getenv('OPENSHIFT_MYSQL_DB_USERNAME');
        $dbPassword = getenv('OPENSHIFT_MYSQL_DB_PASSWORD');
    }
    echo "host:{$dbHost}:{$dbPort} dbName:{$dbName} user:{$dbUser} password:{$dbPassword}<br >\n";
    try {
        $db = new PDO("mysql:host={$dbHost};dbname={$dbName}", $dbUser, $dbPassword);
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    } catch (Exception $ex) {
        echo 'Sorry the connection is not working properly right now';
    }
    if (is_object($db)) {
        return $db;
    } else {
        return FALSE;
    }
}
Example #20
0
 function getConnection()
 {
     // Variables defined in /config/config.php
     $hostname = MYSQL_HOSTNAME;
     $database = MYSQL_DATABASE;
     $username = MYSQL_USERNAME;
     $password = MYSQL_PASSWORD;
     try {
         // Create handle to database
         $dbh = new PDO("mysql:host={$hostname};dbname={$database}", $username, $password);
         // Throw PDOExceptions to catch
         $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
         // Buffered queries, MySQL specific
         $dbh->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
         return $dbh;
     } catch (PDOException $e) {
         error_log("Cannot connect to database : " . $e->getMessage());
         $request = new Lvc_Request();
         $request->setControllerName('error');
         $request->setActionName('view');
         $request->setActionParams(array('error' => '500'));
         // Get a new front controller without any routers,
         // and have it process our handmade request.
         $fc = new Lvc_FrontController();
         $fc->processRequest($request);
         exit;
     }
 }
Example #21
0
    /**
     * Connect to local sqlite db
     *
     * @param string $locking_mode        	
     * @return \PDO
     */
    private function cache_local_connect($locking_mode = 'NORMAL')
    {
        try {
            $table = <<<EOD
CREATE TABLE "cachedb" (
"itemid"  INTEGER PRIMARY KEY AUTOINCREMENT,
"title"  TEXT,
"link"  TEXT,
"stemmed"  TEXT,
"metaphone"  TEXT,
"ts"  DATETIME DEFAULT (datetime( 'now', 'utc'))
);
EOD;
            $cachelocal = new \PDO('sqlite::memory:');
            $cachelocal->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
            $cachelocal->setAttribute(\PDO::ATTR_TIMEOUT, 20);
            $cachelocal->exec("PRAGMA locking_mode = {$locking_mode}");
            $cachelocal->exec($table);
            // Create custom function for similar titles
            $cachelocal->sqliteCreateFunction('similarity', array('Rss\\Util\\Cache\\FeedCache\\FeedCache', 'SIMILARITY'), 2);
            // Create custom function for all terms in a title included in a published one.
            $cachelocal->sqliteCreateFunction('allterms', array('Rss\\Util\\Cache\\FeedCache\\FeedCache', 'ALLTERMS'), 2);
            return $cachelocal;
        } catch (\Exception $e) {
            $m = 'Error connecting to sqlite ' . $e->getCode() . ' ' . $e->getMessage();
            $this->fail($m);
        }
    }
Example #22
0
/**
 * Created by PhpStorm.
 * User: Florian Moser
 * Date: 09.01.2016
 * Time: 14:46
 */
function GetDatabaseConnection()
{
    $db = new PDO("sqlite:database.sqlite");
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    return $db;
}
Example #23
0
function sqllink()
{
    global $DB_HOST, $DB_NAME, $DB_USER, $DB_PASSWORD;
    $dbhost = $DB_HOST;
    $dbname = $DB_NAME;
    $dbusr = $DB_USER;
    $dbpwd = $DB_PASSWORD;
    $dbhdl = NULL;
    if (defined('PDO::MYSQL_ATTR_MAX_BUFFER_SIZE')) {
        $opt = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', PDO::MYSQL_ATTR_MAX_BUFFER_SIZE => 1024 * 1024 * 19);
    } else {
        $opt = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
    }
    $dsn = 'mysql:host=' . $dbhost . ';dbname=' . $dbname . ';charset=utf8';
    try {
        $dbhdl = new PDO($dsn, $dbusr, $dbpwd, $opt);
        $dbhdl->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
        $dbhdl->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        //Display exception
    } catch (PDOExceptsddttrtion $e) {
        //return PDOException
        return NULL;
    }
    return $dbhdl;
}
Example #24
0
 /**
  * Try to connect to database
  *
  * @return \PDO
  * @throws Exception
  */
 public function connect()
 {
     if (!$this->isConnected()) {
         $dsn = 'mysql:host=' . $this->connOpts['db_host'] . ';dbname=' . $this->connOpts['db_name'];
         $options = array(\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES "' . $this->connOpts['charset'] . '";');
         // @todo 1. валидация 2. setAttributes
         if (!empty($this->connOpts['attr'])) {
             $options = $options + $this->connOpts['attr'];
         }
         $profilerEnabled = $this->isProfilerEnabled();
         try {
             if ($profilerEnabled) {
                 $this->profiler->start('CONNECT');
             }
             $this->pdo = new \PDO($dsn, $this->connOpts['username'], $this->connOpts['password'], $options);
             $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
             $this->pdo->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_ASSOC);
             if ($profilerEnabled) {
                 $this->profiler->stop();
             }
         } catch (\PDOException $e) {
             throw new Exception('DB CONNECT ERROR: ' . $e->getMessage());
         }
     }
     return $this->pdo;
 }
Example #25
0
    /**
     * Creates, when necessary, and returns a PDO instance
     * @return PDO
     */
    public static function getInstance($usesTransaction = false) {
        try {
            if (!self::$instance) {
                self::$instance = new \PDO(
                        \core\Config::DATABASE_ADDRESS,
                        \core\Config::DATABASE_USERNAME,
                        \core\Config::DATABASE_PASSWORD,
                        array(
                                \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
                                \PDO::ATTR_PERSISTENT => true
                        )
                );
                self::$instance->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
            }
            if ($usesTransaction && !self::$openTransaction) {
                self::$instance->beginTransaction();
                self::$openTransaction = true;
            }
            return self::$instance;

        } catch (\Exception $e) {
            $ex = new RepositoryException($e);
            $ex->setFatal(true);
            throw $ex;
        }
    }
Example #26
0
 protected function setUp()
 {
     $this->PDO = DB::getInstance();
     $this->PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $this->PDO->exec('INSERT INTO `' . PREFIX . 'equipment_type` (`name`, `accountid`) VALUES ("Test", 1)');
     $this->Typeid = $this->PDO->lastInsertId();
 }
Example #27
0
 public function init()
 {
     if (Yaf_Session::getInstance()->has('username')) {
         $this->getView()->assign('username', Yaf_Session::getInstance()->offsetGet('username'));
     } else {
         return $this->redirect('/Login');
     }
     $dsn = 'mysql:host=127.0.0.1;dbname=yafdemo;charset=utf8';
     $username = '******';
     $password = '******';
     $dbo = new PDO($dsn, $username, $password);
     $dbo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
     $dbo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
     $dbo->exec('SET NAMES UTF8');
     $this->dbo = $dbo;
     $request = $this->getRequest();
     $module = strtolower($request->getModuleName());
     $controller = strtolower($request->getControllerName());
     $action = strtolower($request->getActionName());
     if (!$this->_checkPerm($module, $controller, $action) && $action != 'logout') {
         $this->getView()->setScriptPath(APPLICATION_PATH . "/application/views");
         $this->getView()->display('common/403.phtml');
         Yaf_Dispatcher::getInstance()->autoRender(FALSE);
         exit;
     }
 }
Example #28
0
function dbconnect()
{
    $db = new PDO(MYSQL_SERVER . ";" . MYSQL_DB, MYSQL_USER, MYSQL_PASS);
    $db->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    return $db;
}
 function pdoConnect($dbs = null)
 {
     if ($dbs) {
         $dbname = $this->_strDBSName;
         $dbuser = $this->_strDBSUser;
         $dbpass = $this->_strDBSPassword;
     } else {
         $dbname = $this->_strDBName;
         $dbuser = $this->_strDBUser;
         $dbpass = $this->_strDBPassword;
     }
     try {
         ini_set('max_execution_time', 300);
         $dsn = "mysql:host=" . $this->_strDBHost . ";dbname=" . $dbname;
         $db = new PDO($dsn, "{$dbuser}", "{$dbpass}");
         $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
         $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
         $db->exec("SET names utf8");
         $db->exec("SET time_zone = 'your timezone'");
     } catch (PDOException $e) {
         print "Error!: " . $e->getMessage() . "<br/>";
         die;
     }
     return $db;
 }
Example #30
0
function connectMysql($db = 'sta')
{
    global $DB, $DBsta, $DBdyn;
    require 'local/mysql-data.inc.php';
    // Connexion bdd PDO
    try {
        $dbname = $DBsta;
        if ($db == 'dyn') {
            $dbname = $DBdyn;
        }
        // Connexion à la base de données
        $DB = new PDO('mysql:host=' . $DBserver . ';dbname=' . $dbname, $DBuser, $DBpass, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
        // Configuration du pilote : nous voulons des exceptions
        $DB->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        // Obligatoire pour la suite
        $DB->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
        // Uniquement associatif
    } catch (Exception $e) {
        echo "Echec : " . $e->getMessage();
        // afficher les erreurs(sans mot de passe ...)
    }
    $DBserver = '';
    $DBuser = '';
    $DBpass = '';
}