小编GeP*_*axa的帖子

MYSQL_ATTR_INIT_COMMAND中的PDO SET SESSION和SET NAMES

我正在尝试建立UTF-8连接,但是由于某些原因,我不能将其断开,如果我删除系统SET SESSION,MYSQL_ATTR_INIT_COMMAND则无法更改此连接MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'

这可以正常工作,看起来很好的特殊字符,但是不能创建新帐户:

array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

<?php
class DB {
    private static $_instance = null;
    private $_pdo, $_query, $_error = false, $_results, $_resultsArray, $_count = 0, $_lastId, $_queryCount=0;

    private function __construct(){
        try{
            $this->_pdo = new PDO('mysql:host=' .
                Config::get('mysql/host') .';dbname='. 
                Config::get('mysql/db'), 
                Config::get('mysql/username'), 
                Config::get('mysql/password'),
                array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET SESSION sql_mode = ''"));
        } catch(PDOException $e){
            die($e->getMessage());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

任何想法如何实现而不破坏我的代码?

php mysql pdo

0
推荐指数
1
解决办法
902
查看次数

标签 统计

mysql ×1

pdo ×1

php ×1