連接出問題了。。。。求幫忙謝謝!
class?PdoMySQL{
public?static?$config=array();//設置連接參數,配置信息
public?static?$link=null;//保存數據庫連接對象(連接標識符)
public?static?$pconnect=false;//是否開啟長連接
public?static?$dbVersion=null;//保存數據庫版本
public?static?$connected=false;//判斷是否連接成功
public?static?$PDOStatement=null;//保存PDOSTATEMENT對象
public?static?$queryStr=null;//保持最后執行的操作
public?function?__construct($dbConfig=''){
if(!class_exists("PDO")){
self::throw_exception('不支持PDO,請先開啟');
}
if(!is_array($dbConfig)){
$dbConfig=array(
'hostname'=>DB_HOST,
'username'=>DB_USER,
'password'=>DB_PWD,
'database'=>DB_NAME,
'hostport'=>DB_PORT,
'dbms'=>DB_TYPE,
'dsn'=>DB_TYPE.":hsot=".DB_HOST.";dbname=".DB_NAME
);
}
if(empty($dbConfig['hostname']))self::throw_exception('沒有定義數據庫');
self::$config=$dbConfig;
if(empty($config['params']))self::$config['params']=array();
if(!isset(self::$link)){
$configs=self::$config;
if(self::$pconnect){
//開啟長連接,添加到配置數組中
$configs['params'][constant("PDO::ATTR_PERSISTENT")]=true;
}
try{
self::$link=new?PDO($configs['dsn'],$configs['username'],$configs['password'],$configs['params']); }catch(PDOException?$e){
self::throw_exception($e->getMessage());
}
if(!self::$link){
self::throw_exception('PDO連接錯誤');
return?false;
}
self::$link->exec('SET?NAMES?'.DB_CHARSET);
self::$dbVersion=self::$link->getAttribute(constant("PDO::ATTR_SERVER_VERSION"));
self::$connected=true;
unset($configs);
}
}
//得到所有記錄
public?static?function?getAll($sql=null){
if(!$sql){
self::query($sql);
}
$result=self::$PDOStatement->fetchAll(constant("PDO::FETCH_ASSOC"));
return?$result;
}
//釋放結果集
public?static?function?free(){
self::$PDOStatement=null;
}
public?static?function?query($sql=''){
$link=self::$link;
if(!link)?return?false;
//判斷之前是否有結果集,如果有的話釋放結果集
if(!empty(self::$PDOStatement))self::free();
self::$queryStr=$sql;
self::$PDOStatement=$link->prepare(self::$queryStr);
$res=self::$PDOStatement->execute();
self::haveErrorThrowException();
return?$res;
}
public?static?function?haveErrorThrowException(){
$obj=empty(self::$PDOStatement)?self::$link:?self::$PDOStatement;
$arrError=$obj->errorInfo();
print_r($arrError);
}
//自定義錯誤處理
public?static?function?throw_exception($errMsg){
echo?'<div?style="width:80%;background-color:#ABCDEF;color:black;font-size:20px?0px;">
'.$errMsg.'
</div>';
?}
}
require_once'config.php';
$PdoMySQL=new?PdoMySQL;
var_dump($PdoMySQL);?
G:\Demo\20180718\Pdomysqlclass.php:88:object(PdoMySQL)[1]
沒有顯示出哪里出問題了,有大哥能看看哪里出錯了嗎?謝謝!
2018-08-19
好像是沒問題了。。。。是連接上了。。