国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

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

2024-05-05 00:06:25
字體:
供稿:網(wǎng)友

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

PostgreSQL擴展在默認情況下在最新版本的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 restartStopping postgresql service:                [ OK ]Starting postgresql service:                [ OK ]

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

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

以下PHP代碼顯示如何連接到本地機器上的現(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);?>

當執(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);?>

當執(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);?>

當執(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è)計有所幫助。


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 黄浦区| 西华县| 军事| 丹阳市| 喀什市| 新闻| 承德县| 拜泉县| 明水县| 徐水县| 九龙城区| 深泽县| 中宁县| 兴文县| 遂平县| 丰城市| 延边| 黄浦区| 乌兰浩特市| 邢台县| 永胜县| 松桃| 晋中市| 浙江省| 古蔺县| 崇礼县| 南乐县| 台江县| 奇台县| 商都县| 高邮市| 信丰县| 武宁县| 伊川县| 柘荣县| 宁都县| 修文县| 杭州市| 重庆市| 新昌县| 太白县|