秋凉2018-03-14 21:10:44
<?php
class db{
private $dbConfig = [
'db' => 'mysql',
'호스트' => 'localhost',
'포트' => '3306',
'db이름' => '하나',
'사용자' => '루트',
'비밀번호' => '1234',//
'문자 집합' => 'utf'
];
public $insertId = null;
public $num = 0;
private static $instance = null;
private $conn = null;
비공개 함수 __construct($params){
$this->dbConfig = array_merge($this->dbConfig,$params);
$this->conncet();
}
비공개 함수 __clone(){
}
공개 함수 getInstance(){
if(!self::$instance instanceof self){
self::$instance = new self();
}
return self::$instance;
}
공개 함수 connect(){
try{
$dsn = "{$this->dbConfig['db']}:{$this ->dbConfig['host']};
포트 = {$this->dbConfig['port']};
charset = {$this->dbConfig['charset']}";
$this->conn = new pdo($dsn,$this->dbConfig['user'],$this->dbConfig['password']);
}
catch(PDOExecption $e){ ㅋㅋㅋ
// 返回受影响的记录如果New增还返回new增主键id public function exec($sql){ $num = $this->conn->exec($sql); // 如果有受影响的记录 if($num>0){ // 如果是new增操作 初始化新增主键ID的属性 if(null !==$this->conn->lastInsertId()){ $this ->insertId = $this->conn->lastInsertId(); } $this->num = $rum;//返回受影响的记录 }else{ $error = $this->conn->errorInfo(); //获取最后操작품错误信息 【0】错误标识符 【1】错误代码【2】错误信息 print '操작품失败'.$error[0].':'.$error[1].': '.$error[2]; } }//获取单条查询信息
공개 함수 가져오기($sql )
{
return $this->conn->query ($sql)->fetch(PDO::FETCH_ASSOC);