`

(转)PHP操作Postgresql类

    博客分类:
  • php
阅读更多
原帖地址:http://yp.oss.org.cn/software/show_resource.php?resource_id=563

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


<?php
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数据也是杠杠滴。。

<?php
    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];
	}
?>
分享到:
评论

相关推荐

    PHP_PostgreSQL_访问类

    《PHP PostgreSQL 访问类详解》 在PHP中与PostgreSQL数据库进行交互是常见的开发需求,而使用专门的访问类可以极大地简化这一过程。本文将详细介绍一个简单的PHP PostgreSQL访问类,帮助开发者理解其工作原理及如何...

    Postgresql-DB的访问PHP类

    标题"Postgresql-DB的访问PHP类"指的是一个专门设计用于连接和操作PostgreSQL数据库的PHP类。这类工具通常包含了一系列的方法,如连接数据库、执行查询、处理结果集以及断开连接等。通过这样的封装,开发者可以更...

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

    在本文中,我们将深入探讨如何使用PHP操作PostgreSQL数据库,并通过一个封装类的实例来理解这一过程。PostgreSQL是一种开源的关系型数据库管理系统,而PHP是一种广泛使用的服务器端脚本语言,常用于构建Web应用程序...

    Postgresql-DB的访问PHP类.zip

    这个"Postgresql-DB的访问PHP类"提供了一种封装的方法,使得开发者可以通过面向对象的方式来处理数据库操作。类库通常包含以下关键功能: 1. **连接管理**:类库会包含一个方法用于建立到PostgreSQL服务器的连接,...

    php和postgresql从小工到专家

    3. PHP与PostgreSQL交互:讲解如何在PHP中连接、查询和管理PostgreSQL数据库,使用PDO或mysqli扩展进行数据库操作。 4. Web开发框架:可能涉及一些流行的PHP框架,如Laravel、Symfony或CodeIgniter,这些框架能简化...

    postgreSQL

    2. **多版本并发控制(MVCC)**:PostgreSQL采用MVCC实现读写操作的并行,提高系统性能,同时减少锁定冲突。 3. **复杂查询支持**:支持SQL标准,包括窗口函数、递归查询、 Common Table Expressions (CTE) 和物化...

    crud.rar_application web php_crud_php_postgresql

    标题 "crud.rar_application web php_crud_php_postgresql" 暗示了这是一个使用PHP语言开发的Web应用程序,其核心功能是实现对PostgreSQL数据库的基本CRUD(创建、读取、更新、删除)操作。让我们详细了解一下这个...

    PHP连接及操作PostgreSQL数据库的方法详解

    使用PHP操作PostgreSQL数据库时,理解SQL语句是必不可少的。同时,掌握PostgreSQL提供的函数和特性能够提高开发效率并优化数据库性能。例如,PostgreSQL的事务处理可以通过BEGIN和COMMIT命令来确保操作的原子性,...

    postgresql

    3. **库文件**:提供给开发者使用的API,可以用来在应用程序中连接和操作PostgreSQL数据库。 4. **额外模块**:在"contrib"目录下,包含了一些非核心但非常有用的附加功能,如全文搜索、地理空间索引、哈希函数等。 ...

    Postgresql修炼之道 pdf

    6. Postgresql与编程语言的结合:Postgresql能够与多种编程语言(如Python、Java、C#、PHP等)无缝连接,通过数据库驱动或ODBC/JDBC等方式进行数据库操作。 7. 安全特性:包括角色管理、权限控制、SSL连接、加密...

    postgresql手册+PHP手册

    【标题】"postgresql手册+PHP手册"所包含的知识点涵盖了两个重要的领域:PHP编程语言和PostgreSQL数据库管理系统。这两个工具在Web开发中扮演着至关重要的角色,PHP用于服务器端脚本,而PostgreSQL则作为强大的关系...

    FreeBSD下Apache、PHP、SVN、Memcached、PostgreSQL、MySql的安装笔记

    在FreeBSD操作系统中搭建一套完整的开发和测试环境,包括Apache web服务器、PHP脚本语言解析器、SVN版本控制系统、Memcached内存缓存系统以及PostgreSQL和MySQL数据库,是一项复杂但必要的任务。以下是对每个组件的...

    将你的网站从MySQL改为PostgreSQL

    PHP有多种库可以连接和操作PostgreSQL,如PDO_PGSQL和pgsql。需要更新数据库连接代码、查询构造和错误处理部分。此外,可能还需要调整数据类型映射,比如将MySQL的INT映射到PostgreSQL的SERIAL,将DATE映射到...

    PHP And PostgreSQL

    ### PHP与PostgreSQL:一种选择的问题 在众多的PHP教程中,存在一个普遍的倾向,那就是假设如果用户在使用PHP时需要数据库支持,那么这个数据库很可能是MySQL。然而,这并不意味着MySQL是唯一的选择,实际上,...

    PostgreSQL1

    同时,它还支持通过编程语言如Python、Java、PHP等进行连接和操作,这得益于其丰富的客户端库。 PostgreSQL的SQL语法遵循SQL标准,并扩展了诸如窗口函数、递归查询、物化视图、表继承等高级特性。这些功能使得...

    appache_pgadmin4postgresql

    Apache PgAdmin4是PostgreSQL数据库管理系统的一个流行的图形用户界面工具,专为管理和操作PostgreSQL数据库设计。PgAdmin4提供了一个直观且功能丰富的环境,使得数据库管理员、开发人员以及普通用户可以方便地创建...

Global site tag (gtag.js) - Google Analytics