简单的pgsql pdo php操作类实现代码 核心代码: /* *pgsql类 */ class pgdb { public $pdo; public static $PDOInstance; public $config; public $data; public $filed = '*'; public $table; public $limit; public $order; public $where; public $left; const LOGIN = 7; const USER = 1; const GROUP = 2; const USERGROUP = 3; const LOG = 6; const WARING = 1; const ERROR = 2; const INFO = 0; public function __construct() { if (!self::$PDOInstance) { $this->config = json_decode(file_get_contents("./config/db.json"), true); $config = $this->config; $host = $config["data_base"]["db_host"]; $dbname = $config["data_base"]["db_name"]; $port = $config["data_base"]["db_port"]; $username = $config["data_base"]["db_user"]; $password = $config["data_base"]["db_pwd"]; if ($config["data_base"]["db_host"] != 'localhost') { $hosturl = "host=$host;"; } try { self::$PDOInstance = new PDO("pgsql:" . $hosturl . "port=$port;" . "dbname=$dbname;" , $username , $password , array( PDO::ATTR_PERSISTENT => true, ) ); } catch (Exception $ex) { header("Content-type: text/html; charset=utf-8"); $error = "数据库初始化失败,已强制断开链接。
抓取到的异常栈如下:
" . print_r($ex, true) . "
"; die($error); } try { self::$PDOInstance->query("SET client_encoding='UTF-8';"); self::$PDOInstance->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); self::$PDOInstance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (Exception $exc) { $this->pdo=NULL; $doc = << DOC; print $doc; $info=L('服务器变更请刷新'); print(""); print(''); exit(); } } $this->pdo = self::$PDOInstance; } }