一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - PHP連接及操作PostgreSQL數(shù)據(jù)庫的方法詳解

PHP連接及操作PostgreSQL數(shù)據(jù)庫的方法詳解

2019-06-21 14:18Lucky_wangtao PHP教程

這篇文章主要介紹了PHP連接及操作PostgreSQL數(shù)據(jù)庫的方法,結(jié)合實例形式分析了php針對PostgreSQL數(shù)據(jù)庫的基本連接以及增刪改查等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了PHP連接及操作PostgreSQL數(shù)據(jù)庫的方法。分享給大家供大家參考,具體如下:

PostgreSQL擴(kuò)展在默認(rèn)情況下在最新版本的PHP 5.3.x中是啟用的。 可以在編譯時使用--without-pgsql來禁用它。仍然可以使用yum命令來安裝PHP-PostgreSQL接口:

yum install php-pgsql

在開始使用PHP連接PostgreSQL接口之前,請先在PostgreSQL安裝目錄中找到pg_hba.conf文件,并添加以下行:

# IPv4 local connections:
host  all     all     127.0.0.1/32     md5

您可以啟動/重新啟動postgres服務(wù)器,使用以下命令運行:

[root@host]# service postgresql restart
Stopping postgresql service:                [ OK ]
Starting postgresql service:                [ OK ]

Windows用戶必須啟用php_pgsql.dll才能使用此擴(kuò)展名。這個DLL包含在最新版本的PHP 5.3.x中的Windows發(fā)行版中。

PHP連接到PostgreSQL數(shù)據(jù)庫

以下PHP代碼顯示如何連接到本地機(jī)器上的現(xiàn)有數(shù)據(jù)庫,最后將返回數(shù)據(jù)庫連接對象。

<?php
  $host    = "host=127.0.0.1";
  $port    = "port=5432";
  $dbname   = "dbname=testdb";
  $credentials = "user=postgres password=pass123";
  $db = pg_connect( "$host $port $dbname $credentials" );
  if(!$db){
   echo "Error : Unable to open database\n";
  } else {
   echo "Opened database successfully\n";
  }
?>

現(xiàn)在,讓我們運行上面的程序打開數(shù)據(jù)庫:testdb,如果成功打開數(shù)據(jù)庫連接,那么它將給出以下消息:

Opened database successfully

創(chuàng)建表

以下PHP程序?qū)⒂糜谠谥皠?chuàng)建的數(shù)據(jù)庫(testdb)中創(chuàng)建一個表:

<?php
  $host    = "host=127.0.0.1";
  $port    = "port=5432";
  $dbname   = "dbname=testdb";
  $credentials = "user=postgres password=pass123";
  $db = pg_connect( "$host $port $dbname $credentials" );
  if(!$db){
   echo "Error : Unable to open database\n";
  } else {
   echo "Opened database successfully\n";
  }
  $sql =<<<EOF
   CREATE TABLE COMPANY
   (ID INT PRIMARY KEY   NOT NULL,
   NAME      TEXT  NOT NULL,
   AGE      INT   NOT NULL,
   ADDRESS    CHAR(50),
   SALARY     REAL);
EOF;
  $ret = pg_query($db, $sql);
  if(!$ret){
   echo pg_last_error($db);
  } else {
   echo "Table created successfully\n";
  }
  pg_close($db);
?>

當(dāng)執(zhí)行上述程序時,它將在testdb數(shù)據(jù)庫中創(chuàng)建COMPANY表,并顯示以下消息:

Opened database successfully
Table created successfully

SQL

插入操作

以下PHP程序顯示了如何在上述示例中創(chuàng)建的COMPANY表中創(chuàng)建記錄:

<?php
  $host    = "host=127.0.0.1";
  $port    = "port=5432";
  $dbname   = "dbname=testdb";
  $credentials = "user=postgres password=pass123";
  $db = pg_connect( "$host $port $dbname $credentials" );
  if(!$db){
   echo "Error : Unable to open database\n";
  } else {
   echo "Opened database successfully\n";
  }
  $sql =<<<EOF
   INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
   VALUES (1, 'Paul', 32, 'California', 20000.00 );
   INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
   VALUES (2, 'Allen', 25, 'Texas', 15000.00 );
   INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
   VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );
   INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
   VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );
EOF;
  $ret = pg_query($db, $sql);
  if(!$ret){
   echo pg_last_error($db);
  } else {
   echo "Records created successfully\n";
  }
  pg_close($db);
?>

當(dāng)執(zhí)行上述程序時,它將在COMPANY表中創(chuàng)建給定的記錄,并顯示以下兩行:

Opened database successfully
Records created successfully

SELECT操作

以下PHP程序顯示了如何從上述示例中創(chuàng)建的COMPANY表中獲取和顯示記錄:

<?php
  $host    = "host=127.0.0.1";
  $port    = "port=5432";
  $dbname   = "dbname=testdb";
  $credentials = "user=postgres password=pass123";
  $db = pg_connect( "$host $port $dbname $credentials" );
  if(!$db){
   echo "Error : Unable to open database\n";
  } else {
   echo "Opened database successfully\n";
  }
  $sql =<<<EOF
   SELECT * from COMPANY;
EOF;
  $ret = pg_query($db, $sql);
  if(!$ret){
   echo pg_last_error($db);
   exit;
  }
  while($row = pg_fetch_row($ret)){
   echo "ID = ". $row[0] . "\n";
   echo "NAME = ". $row[1] ."\n";
   echo "ADDRESS = ". $row[2] ."\n";
   echo "SALARY = ".$row[4] ."\n\n";
  }
  echo "Operation done successfully\n";
  pg_close($db);
?>

當(dāng)執(zhí)行上述程序時,將產(chǎn)生以下結(jié)果。 請記下,在創(chuàng)建表時按照它們使用的順序返回字段。

Opened database successfully
ID = 1
NAME = Paul
ADDRESS = California
SALARY =  20000
ID = 2
NAME = Allen
ADDRESS = Texas
SALARY =  15000
ID = 3
NAME = Teddy
ADDRESS = Norway
SALARY =  20000
ID = 4
NAME = Mark
ADDRESS = Rich-Mond
SALARY =  65000
Operation done successfully

更新操作

以下PHP代碼顯示了如何使用UPDATE語句來更新指定記錄,然后從COMPANY表中獲取并顯示更新的記錄:

<?php
  $host    = "host=127.0.0.1";
  $port    = "port=5432";
  $dbname   = "dbname=testdb";
  $credentials = "user=postgres password=pass123";
  $db = pg_connect( "$host $port $dbname $credentials" );
  if(!$db){
   echo "Error : Unable to open database\n";
  } else {
   echo "Opened database successfully\n";
  }
  $sql =<<<EOF
   UPDATE COMPANY set SALARY = 25000.00 where ID=1;
EOF;
  $ret = pg_query($db, $sql);
  if(!$ret){
   echo pg_last_error($db);
   exit;
  } else {
   echo "Record updated successfully\n";
  }
  $sql =<<<EOF
   SELECT * from COMPANY;
EOF;
  $ret = pg_query($db, $sql);
  if(!$ret){
   echo pg_last_error($db);
   exit;
  }
  while($row = pg_fetch_row($ret)){
   echo "ID = ". $row[0] . "\n";
   echo "NAME = ". $row[1] ."\n";
   echo "ADDRESS = ". $row[2] ."\n";
   echo "SALARY = ".$row[4] ."\n\n";
  }
  echo "Operation done successfully\n";
  pg_close($db);
?>

執(zhí)行上述程序時,會產(chǎn)生以下結(jié)果:

Opened database successfully
Record updated successfully
ID = 2
NAME = Allen
ADDRESS = 25
SALARY =  15000
ID = 3
NAME = Teddy
ADDRESS = 23
SALARY =  20000
ID = 4
NAME = Mark
ADDRESS = 25
SALARY =  65000
ID = 1
NAME = Paul
ADDRESS = 32
SALARY =  25000
Operation done successfully

刪除操作

以下PHP代碼顯示了如何使用DELETE語句刪除指定記錄,然后從COMPANY表中獲取并顯示剩余的記錄:

<?php
  $host    = "host=127.0.0.1";
  $port    = "port=5432";
  $dbname   = "dbname=testdb";
  $credentials = "user=postgres password=pass123";
  $db = pg_connect( "$host $port $dbname $credentials" );
  if(!$db){
   echo "Error : Unable to open database\n";
  } else {
   echo "Opened database successfully\n";
  }
  $sql =<<<EOF
   DELETE from COMPANY where ID=2;
EOF;
  $ret = pg_query($db, $sql);
  if(!$ret){
   echo pg_last_error($db);
   exit;
  } else {
   echo "Record deleted successfully\n";
  }
  $sql =<<<EOF
   SELECT * from COMPANY;
EOF;
  $ret = pg_query($db, $sql);
  if(!$ret){
   echo pg_last_error($db);
   exit;
  }
  while($row = pg_fetch_row($ret)){
   echo "ID = ". $row[0] . "\n";
   echo "NAME = ". $row[1] ."\n";
   echo "ADDRESS = ". $row[2] ."\n";
   echo "SALARY = ".$row[4] ."\n\n";
  }
  echo "Operation done successfully\n";
  pg_close($db);
?>

執(zhí)行上述程序時,會產(chǎn)生以下結(jié)果:

Opened database successfully
Record deleted successfully
ID = 3
NAME = Teddy
ADDRESS = 23
SALARY =  20000
ID = 4
NAME = Mark
ADDRESS = 25
SALARY =  65000
ID = 1
NAME = Paul
ADDRESS = 32
SALARY =  25000
Operation done successfully

希望本文所述對大家PHP程序設(shè)計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费一级欧美片在线观免看 | 草草草视频 | 国产91精品区 | 国产日产精品久久久久快鸭 | 18性夜影院午夜寂寞影院免费 | 国产第一草草影院 | 毛片在线免费视频 | 亚洲国产精品免费在线观看 | 私人黄色影院 | 高清在线一区二区 | 亚洲无线一二三区2021 | 丰满肥臀风间由美357在线 | 视频在线观看高清免费看 | 午夜一级视频 | 特a级片 | 高h文3p双龙 | 国产欧美二区三区 | 精品在线免费观看视频 | 扒开斗罗美女了的胸罩和内裤漫画 | 人人做人人爽人人爱 | 狠狠的撞进去嗯啊h女强男视频 | 视频一区在线观看 | 手机看片一区二区 | 欧美另类69xxx| 四虎在线播放 | 亚洲福利一区二区 | 欧美日韩高清一区 | 逼123| 高清毛片一区二区三区 | 成人区精品一区二区毛片不卡 | 欧美日韩一区视频 | 亚洲精品一区波多野结衣 | 99re热这里只有精品视频 | 精品牛牛影视久久精品 | 免费观看视频在线 | 免费岛国 | 羞羞私人影院可以直接免费观影吗 | 国产精品九九免费视频 | 男女男精品网站免费观看 | 99国内精品 | 欧美日韩精品一区二区三区高清视频 |