为了账号安全,请及时绑定邮箱和手机立即绑定

连接出问题了。。。。求帮忙谢谢!

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]

没有显示出哪里出问题了,有大哥能看看哪里出错了吗?谢谢!

正在回答

1 回答

好像是没问题了。。。。是连接上了。。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PDO—数据库抽象层
  • 参与学习       30043    人
  • 解答问题       396    个

本教程主要通过实战演练深入剖析PDO以加深理解

进入课程

连接出问题了。。。。求帮忙谢谢!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信