简单的pgsql pdo php操作类实现代码


Posted in PHP onAugust 25, 2016

核心代码:

/*
*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 = "数据库初始化失败,已强制断开链接。<br />抓取到的异常栈如下:<br /><pre>" . print_r($ex, true) . "</pre>";
      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
     <!DOCTYPE html>
     <html>
      <head>
        <meta charset="UTF-8">
        <script src="layer/jquery-1.11.1.min.js"></script>
        <script src="layer/layer.js"></script>
      <head>
     <body>
DOC;


    print $doc;
    $info=L('服务器变更请刷新');
    print("<script>layer.msg('".$info."', {icon: 2,time: 30000},function(){location.reload();});</script>");
    print('</body></html>');
    exit();
    }
   }
  
   $this->pdo = self::$PDOInstance;
  }
}
PHP 相关文章推荐
PHP下操作Linux消息队列完成进程间通信的方法
Jul 24 PHP
PHP 多维数组的排序问题 根据二维数组中某个项排序
Nov 09 PHP
php中文验证码实现示例分享
Jan 12 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
Jun 19 PHP
ThinkPHP模板判断输出Present标签用法详解
Jun 30 PHP
PHP实现Soap通讯的方法
Nov 03 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
Mar 01 PHP
一波PHP中cURL库的常见用法代码示例
May 06 PHP
php 函数使用可变数量的参数方法
May 02 PHP
PHP实现Session入库/存入redis的方法
May 04 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
Aug 17 PHP
php mongodb操作类 带几个简单的例子
Aug 25 #PHP
php flush无效,IIS7下php实时输出的方法
Aug 25 #PHP
php 的反射详解及示例代码
Aug 25 #PHP
php 输入输出流详解及示例代码
Aug 25 #PHP
PHP 输出缓冲控制(Output Control)详解
Aug 25 #PHP
PHP中利用sleep函数实现定时执行功能实现代码
Aug 25 #PHP
PHP sleep()函数, usleep()函数
Aug 25 #PHP
You might like
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
PHP随机生成唯一HASH值自定义函数
2015/04/20 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
Smarty模板变量与调节器实例详解
2019/07/20 PHP
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
jQuery中ajax的使用与缓存问题的解决方法
2013/12/19 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
javascript每日必学之继承
2016/02/23 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
2016/11/10 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
vue addRoutes实现动态权限路由菜单的示例
2018/05/15 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
微信小程序实现锚点跳转
2020/11/23 Javascript
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
详解Python中的array数组模块相关使用
2016/07/05 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
用Django写天气预报查询网站
2018/10/21 Python
Python面向对象程序设计示例小结
2019/01/30 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
2019/03/22 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
小学庆六一活动总结
2014/08/28 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
关于群众路线的心得体会
2014/11/05 职场文书
股权转让协议范本
2014/12/07 职场文书
2016领导干部廉洁从政心得体会
2016/01/19 职场文书
导游词之青岛崂山
2019/12/27 职场文书