php操作postgresql,PHP操作Postgresql封装类与应用完整实例

这篇文章主要介绍了PHP操作Postgresql封装类,结合实例形式分析了php针对Postgresql数据库常见的连接、查询、统计等操作封装技巧与使用方法,需要的朋友可以参考下

本文实例讲述了PHP操作Postgresql封装类与应用。分享给大家供大家参考,具体如下:

这个类封装了一些常用的函数,原帖里面还有事务处理的内容,以后再学习吧。

类文件定义:

class pgsql {

private $linkid; // PostgreSQL连接标识符

private $host; // PostgreSQL服务器主机

private $port; // PostgreSQL服务器主机端口

private $user; // PostgreSQL用户

private $passwd; // PostgreSQL密码

private $db; // Postgresql数据库

private $result; // 查询的结果

private $querycount; // 已执行的查询总数

/* 类构造函数,用来初始化$host、$user、$passwd和$db字段。 */

function __construct($host, $port ,$db, $user, $passwd) {

$this->host = $host;

$this->port = $port;

$this->user = $user;

$this->passwd = $passwd;

$this->db = $db;

}

/* 连接Postgresql数据库 */

function connect(){

try{

$this->linkid = @pg_connect("host=$this->host port=$this->port dbname=$this->db

user=$this->user password=$this->passwd");

if (! $this->linkid)

throw new Exception("Could not connect to PostgreSQL server.");

}

catch (Exception $e) {

die($e->getMessage());

}

}

/* 执行数据库查询。 */

function query($query){

try{

$this->result = @pg_query($this->linkid,$query);

if(! $this->result)

throw new Exception("The database query failed.");

}

catch (Exception $e){

echo $e->getMessage();

}

$this->querycount++;

return $this->result;

}

/* 确定受查询所影响的行的总计。 */

function affectedRows(){

$count = @pg_affected_rows($this->linkid);

return $count;

}

/* 确定查询返回的行的总计。 */

function numRows(){

$count = @pg_num_rows($this->result);

return $count;

}

/* 将查询的结果行作为一个对象返回。 */

function fetchObject(){

$row = @pg_fetch_object($this->result);

return $row;

}

/* 将查询的结果行作为一个索引数组返回。 */

function fetchRow(){

$row = @pg_fetch_row($this->result);

return $row;

}

/* 将查询的结果行作为一个关联数组返回。 */

function fetchArray(){

$row = @pg_fetch_array($this->result);

return $row;

}

/* 返回在这个对象的生存期内执行的查询总数。这不是必须的,但是您也许会感兴趣。 */

function numQueries(){

return $this->querycount;

}

}

?>

测试的php一并放出,另外测试了下局域网内的另一台postgresql服务器,感觉查询速度还是很快的,查询postgregis数据也是杠杠滴。

include 'PGDB.php';

$PG = new pgsql("192.168.1.167", "5432", "postgis", "postgres", "post");

$PG->connect();

if(!$PG)

{

$db_error = "无法连接到PostGreSQL数据库!";

echo $db_error;

}

else

{

echo "成功连接!";

$query = "select name from ex where gid = 2";

$result = $PG->query($query);

$row = $PG->fetchRow();

echo $row[0];

}

?>

相关推荐:

postgreSQL php及客户端

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值