溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP如何操作Postgresql封裝類

發(fā)布時間:2021-08-05 14:22:25 來源:億速云 閱讀:125 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹PHP如何操作Postgresql封裝類,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

具體如下:

類文件定義:

<?php
class pgsql {
private $linkid; // PostgreSQL連接標識符
private $host; // PostgreSQL服務器主機
private $port; // PostgreSQL服務器主機端口
private $user; // PostgreSQL用戶
private $passwd; // PostgreSQL密碼
private $db; // Postgresql數(shù)據(jù)庫
private $result; // 查詢的結(jié)果
private $querycount; // 已執(zhí)行的查詢總數(shù)
/* 類構造函數(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;
}
/* 確定受查詢所影響的行的總計。 */
function affectedRows(){
$count = @pg_affected_rows($this->linkid);
return $count;
}
/* 確定查詢返回的行的總計。 */
function numRows(){
$count = @pg_num_rows($this->result);
return $count;
}
/* 將查詢的結(jié)果行作為一個對象返回。 */
function fetchObject(){
$row = @pg_fetch_object($this->result);
return $row;
}
/* 將查詢的結(jié)果行作為一個索引數(shù)組返回。 */
function fetchRow(){
$row = @pg_fetch_row($this->result);
return $row;
}
/* 將查詢的結(jié)果行作為一個關聯(lián)數(shù)組返回。 */
function fetchArray(){
$row = @pg_fetch_array($this->result);
return $row;
}
/* 返回在這個對象的生存期內(nèi)執(zhí)行的查詢總數(shù)。這不是必須的,但是您也許會感興趣。 */
function numQueries(){
return $this->querycount;
}
}
?>

測試的php一并放出,另外測試了下局域網(wǎng)內(nèi)的另一臺postgresql服務器,感覺查詢速度還是很快的,查詢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];
  }
?>

以上是“PHP如何操作Postgresql封裝類”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI