我试图将UTF8
编码设置为PDO
构造,我现在所做的是:
public function __construct($dbType, $dbHost, $dbName, $dbUser, $dbPass, $charset)
{
try
{
parent::__construct($dbType . ':host=' . $dbHost . ';dbname=' . $dbName, $dbUser,
$dbPass. ';charset=' . $charset);
}
catch(PDOException $e)
{
$this->_error = $e->getMessage();
}
parent::setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
parent::setAttribute(PDO::ATTR_PERSISTENT, true);
}
当达到setAttribute
行时,我收到此错误:
PDO :: setAttribute():SQLSTATE [00000]:无错误:未调用PDO构造函数
我做错了什么?
答案 0 :(得分:1)
您是否正在扩展PDO?当我想实现一个PDO对象时,我写下这个:
$pdoObj = new PDO(
'mysql:dbname=' . DB_NAME .
';host=' . HOST_NAME . ";",
USER,
PWD,
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
);