PHP操作Postgresql封裝類與應(yīng)用完整實(shí)例
本文實(shí)例講述了PHP操作Postgresql封裝類與應(yīng)用。分享給大家供大家參考,具體如下:
這個(gè)類封裝了一些常用的函數(shù),原帖里面還有事務(wù)處理的內(nèi)容,以后再學(xué)習(xí)吧。
類文件定義:
<?php class pgsql { private $linkid; // PostgreSQL連接標(biāo)識(shí)符 private $host; // PostgreSQL服務(wù)器主機(jī) private $port; // PostgreSQL服務(wù)器主機(jī)端口 private $user; // PostgreSQL用戶 private $passwd; // PostgreSQL密碼 private $db; // Postgresql數(shù)據(jù)庫 private $result; // 查詢的結(jié)果 private $querycount; // 已執(zhí)行的查詢總數(shù) /* 類構(gòu)造函數(shù),用來初始化$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數(shù)據(jù)庫 */ 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()); } } /* 執(zhí)行數(shù)據(jù)庫查詢。 */ 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; } /* 確定受查詢所影響的行的總計(jì)。 */ function affectedRows(){ $count = @pg_affected_rows($this->linkid); return $count; } /* 確定查詢返回的行的總計(jì)。 */ function numRows(){ $count = @pg_num_rows($this->result); return $count; } /* 將查詢的結(jié)果行作為一個(gè)對(duì)象返回。 */ function fetchObject(){ $row = @pg_fetch_object($this->result); return $row; } /* 將查詢的結(jié)果行作為一個(gè)索引數(shù)組返回。 */ function fetchRow(){ $row = @pg_fetch_row($this->result); return $row; } /* 將查詢的結(jié)果行作為一個(gè)關(guān)聯(lián)數(shù)組返回。 */ function fetchArray(){ $row = @pg_fetch_array($this->result); return $row; } /* 返回在這個(gè)對(duì)象的生存期內(nèi)執(zhí)行的查詢總數(shù)。這不是必須的,但是您也許會(huì)感興趣。 */ function numQueries(){ return $this->querycount; } } ?>
測(cè)試的php一并放出,另外測(cè)試了下局域網(wǎng)內(nèi)的另一臺(tái)postgresql服務(wù)器,感覺查詢速度還是很快的,查詢postgregis數(shù)據(jù)也是杠杠滴。
<?php include 'PGDB.php'; $PG = new pgsql("192.168.1.167", "5432", "postgis", "postgres", "post"); $PG->connect(); if(!$PG) { $db_error = "無法連接到PostGreSQL數(shù)據(jù)庫!"; echo $db_error; } else { echo "成功連接!"; $query = "select name from ex where gid = 2"; $result = $PG->query($query); $row = $PG->fetchRow(); echo $row[0]; } ?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《php+Oracle數(shù)據(jù)庫程序設(shè)計(jì)技巧總結(jié)》、《PHP+MongoDB數(shù)據(jù)庫操作技巧大全》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PostgreSQL管理工具phpPgAdmin入門指南
- php連接與操作PostgreSQL數(shù)據(jù)庫的方法
- PHP 讀取Postgresql中的數(shù)組
- PHP實(shí)現(xiàn)基于PDO擴(kuò)展連接PostgreSQL對(duì)象關(guān)系數(shù)據(jù)庫示例
- PHP實(shí)現(xiàn)從PostgreSQL數(shù)據(jù)庫檢索數(shù)據(jù)分頁顯示及根據(jù)條件查找數(shù)據(jù)示例
- PHP5中使用PDO連接數(shù)據(jù)庫的方法
- PHP PDO函數(shù)庫詳解
- PHP連接及操作PostgreSQL數(shù)據(jù)庫的方法詳解
相關(guān)文章
PHP開發(fā)工具ZendStudio下Xdebug工具使用說明詳解
我使用的是XAMPP的集成開發(fā)平臺(tái)環(huán)境。里面已經(jīng)預(yù)設(shè)了Xdebug的調(diào)試工具,只需要自己改下配置的就可以了2013-11-11PHP把MSSQL數(shù)據(jù)導(dǎo)入到MYSQL的方法
這篇文章主要介紹了PHP把MSSQL數(shù)據(jù)導(dǎo)入到MYSQL的方法,分別列舉了兩個(gè)實(shí)例實(shí)現(xiàn)將MSSQL數(shù)據(jù)導(dǎo)入到MYSQL的功能,是非常實(shí)用的技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12php偽協(xié)議實(shí)現(xiàn)命令執(zhí)行詳情
這篇文章主要介紹了php偽協(xié)議實(shí)現(xiàn)命令執(zhí)行詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,感興趣的朋友可以參考一下2022-06-06PHP下利用shell后臺(tái)運(yùn)行PHP腳本,并獲取該腳本的Process ID的代碼
PHP下利用shell后臺(tái)運(yùn)行PHP腳本,并獲取該腳本的Process ID的代碼,學(xué)習(xí)php的朋友可以參考下。2011-09-09php操作redis數(shù)據(jù)庫常見方法實(shí)例總結(jié)
這篇文章主要介紹了php操作redis數(shù)據(jù)庫常見方法,結(jié)合實(shí)例形式總結(jié)分析了PHP操作redis數(shù)據(jù)庫的基本安裝、連接、字符串、哈希表、列表、集合等相關(guān)操作技巧,需要的朋友可以參考下2020-02-02