简单的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 和 COM
Oct 09 PHP
来自PHP.NET的入门教程
Oct 09 PHP
精美漂亮的php分页类代码
Apr 02 PHP
基于PHP一些十分严重的缺陷详解
Jun 03 PHP
PHP 循环删除无限分类子节点的实现代码
Jun 21 PHP
php生成图形验证码几种方法小结
Aug 15 PHP
php jquery 多文件上传简单实例
Dec 23 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 PHP
php函数传值的引用传递注意事项分析
Jun 25 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
May 02 PHP
PHP文件打开关闭及读写操作示例解析
Aug 06 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
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
php缓冲 output_buffering和ob_start使用介绍
2014/01/30 PHP
详解PHP处理密码的几种方式
2016/11/30 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
PHP模型Model类封装数据库操作示例
2019/03/14 PHP
javascript定义函数的方法
2010/12/06 Javascript
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
JS定时器实例
2013/04/17 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
JavaScript实现移动端轮播效果
2017/06/06 Javascript
JS中call和apply函数用法实例分析
2018/06/20 Javascript
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
Python的pycurl包用法简介
2015/11/13 Python
Python实现选择排序
2017/06/04 Python
利用Python检测URL状态
2019/07/31 Python
python中操作文件的模块的方法总结
2021/02/04 Python
设计师珠宝:Ylang 23
2018/05/11 全球购物
销售主管竞聘书
2014/03/31 职场文书
勤俭节约倡议书
2014/04/14 职场文书
会计求职信
2014/05/29 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
2014年幼儿园后勤工作总结
2014/11/10 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
晚会开幕词范文
2016/03/04 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书
python中的被动信息搜集
2021/04/29 Python
详细分析PHP7与PHP5区别
2021/06/26 PHP
如何用vue实现网页截图你知道吗
2021/11/17 Vue.js