Heim > Artikel > Backend-Entwicklung > PHP-Operation Postgresql-Kapselungsklasse und vollständiges Anwendungsbeispiel
Dieser Artikel stellt hauptsächlich die PHP-Operations-Postgresql-Kapselungsklasse vor und analysiert die allgemeinen Verbindungs-, Abfrage-, Statistik- und anderen Operationskapselungstechniken und Verwendungsmethoden von PHP für Postgresql-Datenbanken in Form von Beispielen
Die Beispiele in diesem Artikel beschreiben den PHP-Betrieb von Postgresql-Kapselungsklassen und -Anwendungen. Ich teile es Ihnen als Referenz mit:
Diese Klasse kapselt einige häufig verwendete Funktionen. Der ursprüngliche Beitrag enthält auch Inhalte zur Transaktionsverarbeitung.
Klassendateidefinition:
<?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; } } ?>
Das getestete PHP wurde auch im LAN veröffentlicht und getestet. Ein weiteres Postgresql Server habe ich das Gefühl, dass die Abfragegeschwindigkeit immer noch sehr hoch ist und auch die Abfrage von Postgregis-Daten sehr gut ist.
<?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]; } ?>
Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonPHP-Operation Postgresql-Kapselungsklasse und vollständiges Anwendungsbeispiel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!