<?php
try{
$db = new pdo(
'mysql:host=wuxiancheng.cn;port=3306;dbname=mysql;charset=utf8',
'user',
'password',
array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_TIMEOUT => 3
)
);
}catch(PDOException $e){
echo $e->getMessage();
echo '<br />';
echo iconv('gbk', 'utf-8', $e->getMessage());
}
?>
SQLSTATE[HY000] [2002] 由於目標計算機積極拒絕,無法連接。
PHP PDO連接MySQL數據庫時,如果MySQL沒有啟動或者無法訪問時將會出現SQLSTATE[HY000] [2002]錯誤。該錯誤信息是由PHP所在的計算機系統底層產生的,如果操作系統為Windows並且操作系統語言為簡體中文,那么錯誤信息為GBK編碼,PHP使用非GBK編碼時會出現亂碼,解決方法是將錯誤信息從GBK轉碼為UTF-8以后再輸出,轉碼可以使用iconv()函數,該函數需要開啟php mbstring擴展以后才能使用,下面是解決 SQLSTATE[HY000] [2002] 亂碼的PHP示例代碼。
在php.ini中開啟擴展即可
