简单的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 = "数据库初始化失败,已强制断开链接。<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;
  }
}
(0)

相关推荐

  • 全新的PDO数据库操作类php版(仅适用Mysql)

    复制代码 代码如下: /** * 作者:胡睿 * 日期:2012/07/21 * 电邮:hooray0905@foxmail.com */ class HRDB{ protected $pdo; protected $res; protected $config; /*构造函数*/ function __construct($config){ $this->Config = $config; $this->connect(); } /*数据库连接*/ public function conne

  • PHP数据库链接类(PDO+Access)实例分享

    PHP PDO Access链接 复制代码 代码如下: class DbHelpClass    {        private $conn;        private $qxId;        private $ret; function __construct()        {            $path="../../App_Data/sd#f#45G_!.mdb";            $constr="DRIVER={Microsoft Acce

  • PHP实现PDO的mysql数据库操作类

    本文实例讲述了PHP实现PDO的mysql数据库操作类.分享给大家供大家参考.具体分析如下: dbconfig类负责配置数据库访问信息,包括:服务器地址.端口.数据库实例名.用户名.用户密码.字符集等. dbtemplate类集合了对数据库的访问操作,主要有以下几个操作: 1. queryrows:返回多行记录 2. queryrow:返回为单条记录 3. queryforint:查询单字段,返回整数 4. queryforfloat:查询单字段,返回浮点数(float) 5. queryfor

  • PHP基于单例模式编写PDO类的方法

    一.单例模式简介 简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务: 二.为什么要使用PHP单例模式? 1.php的应用主要在于数据库应用, 所以一个应用中会存在大量的数据库操作, 使用单例模式, 则可以避免大量的new 操作消耗的资源. 2.如果系统中需要有一个类来全局控制某些配置信息, 那么使用单例模式可以很方便的实现. 这个可以参看ZF的FrontController部分. 3.在一次页面请求中, 便于进行调试, 因为所有的代码(例如数据库操作类db)

  • PHP封装的PDO数据库操作类实例

    本文实例讲述了PHP封装的PDO数据库操作类.分享给大家供大家参考,具体如下: <?php class DatabaseHandler { /** * sql语句查询 */ public static function query_data ($dataName,$sql,$query=array()) { $result = array(); if (!empty($sql)) { $data = Bj_PdoDB::factory($dataName)->allPrepare($sql,

  • PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】

    本文实例讲述了PHP基于PDO实现的SQLite操作类.分享给大家供大家参考,具体如下: 直接代码: 注意:一定要写好数据库保存路径 <?php // sqlite分页类 class SqliteDB{ public function __construct(){ // 初始化数据库,并且连接数据库 数据库配置 $this->db = new PDO('sqlite:'.dirname(__FILE__).'\log.db'); $this->table_name=$tab; $this

  • php实现的pdo公共类定义与用法示例

    本文实例讲述了php实现的pdo公共类定义与用法.分享给大家供大家参考,具体如下: db.class.php : <?php class db extends \PDO { private static $_instance = null; protected $dbName = ''; protected $dsn; protected $dbh; public function __construct($dbHost, $dbUser, $dbPasswd, $dbName, $dbChar

  • php基于PDO实现功能强大的MYSQL封装类实例

    本文实例讲述了php基于PDO实现功能强大的MYSQL封装类.分享给大家供大家参考,具体如下: class CPdo{ protected $_dsn = "mysql:host=localhost;dbname=test"; protected $_name = "root"; protected $_pass = ""; protected $_condition = array(); protected $pdo; protected $f

  • 详解PHP中的PDO类

     简介 咱一起来看看PDO类.PDO是PHP Data Objects的缩写,它被描述为"在PHP中访问数据库的轻量级,兼容性的接口".尽管它的名字不咋好听,但PDO是一个在PHP中访问数据库会让人喜爱的方式. 与MySQLi的不同 MySQLi和PDO很相似,都有两方面主要区别: 1.MySQLi只能访问MySQL,但PDO可以访问12种不同的数据库 2.PDO没有普通函数调用(mysqli_*functions) 开始步骤 首先,你得确定一下你的PHP是否安装了PDO插件.你可以用

  • PHP的PDO常用类库实例分析

    本文实例讲述了PHP的PDO常用类库.分享给大家供大家参考,具体如下: 1.Db.class.php 连接数据库 <?php // 连接数据库 class Db { static public function getDB() { try { $pdo = new PDO(DB_DSN, DB_USER, DB_PWD); $pdo->setAttribute(PDO::ATTR_PERSISTENT, true); // 设置数据库连接为持久连接 $pdo->setAttribute(

随机推荐