postgresql 学习

ref http://PHP.net/manual/zh/book.pgsql.PHP

1.install

cd PHP-5.4.36/ext/pgsql/

PHPize

./configure

make && make install

addextension=pgsql.so


2. test

//Pgsql.PHP

<?PHP

define("HOST","127.0.0.1");
define("PORT",5432);
define("dbnAME","test");
define("USER","test");
define("PASSWORD","test");

class Pgsql {

//单例
private static $instance = null;

private $conn = null;

private function __construct()
{
$this->conn = pg_connect("host=" . HOST . " port=" . PORT . " dbname=" . dbnAME . " user=" . USER . " password=" . PASSWORD) or die('Connect Failed : '. pg_last_error());
}

public function __destruct()
{
pg_close($this->conn);
}

/**
* 单例模式
* @param $name
*/
public static function getInstance()
{
if ( ! self::$instance )
{
self::$instance = new self();
}
return self::$instance;
}

/**
* 获取记录
*/
public function fetchRow($sql)
{
$ret = array();
$rs = pg_query($this->conn,$sql);
$ret = pg_fetch_all($rs);
if ( ! is_array($ret) )
{
return array();
}
return $ret;
}

/**
* 执行指令
* @param string $sql
*/
public function query($sql)
{
$result = pg_query($this->conn,$sql);
if ( ! $result )
die("sql : {$sql} " . pg_last_error());
}

/**
* 获取一条记录
*/
public function fetchOne($sql)
{
$ret = array();
$rs = pg_query($this->conn,$sql);
$ret = pg_fetch_all($rs);
if ( ! is_array($ret) )
{
return array();
}
return current($ret);

}

/**

* add one record

*/

public function add($data,$table) {
return pg_insert($this->conn,$table,$data);
}


}

// test.PHP

<?PHP include "./Pgsql.PHP"; $pg = Pgsql::getInstance(); var_dump($pg); $ret = $pg->fetchRow("select * from test"); var_dump($ret); $data = array('id'=>33,'text'=>'testdata'); $ret = $pg->add($data,'test'); var_dump($ret);

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...