이 기사에서는 주로 PHP 작업 Postgresql 캡슐화 클래스를 소개하고 Postgresql 데이터베이스용 PHP의 일반적인 연결, 쿼리, 통계 및 기타 작업 캡슐화 기술과 사용 방법을 예제 형식으로 분석합니다.
The 이 기사의 예는 PHP Operate Postgresql 캡슐화된 클래스 및 애플리케이션을 설명합니다. 참고하실 수 있도록 자세한 내용을 공유합니다.
이 클래스에는 일반적으로 사용되는 일부 기능이 포함되어 있습니다. 원본 게시물에는 나중에 자세히 알아보도록 하겠습니다.
클래스 파일 정의:
<?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도 함께 공개했습니다. LAN에 있는 또 다른 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!