日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
PostgreSQL連接PHP

安裝

睢陽(yáng)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

PostgreSQL的擴(kuò)展是默認(rèn)啟用的***版本的PHP5.3.x.但是它可能通過(guò)在編譯時(shí)加上--without-pgsql 選項(xiàng)禁用。但仍然可以使用yum命令安裝PHP的PostgreSQL的接口:

 
 
 
 
  1. yum install php-pgsql 

在開始使用PHP PostgreSQL接口,打開pg_hba.conf文件(在PostgreSQL安裝目錄),并添加下面一行:

 
 
 
 
  1. # IPv4 local connections: 
  2. host    all         all         127.0.0.1/32          md5 

使用start/restart啟動(dòng)Postgres服務(wù)器,它沒(méi)有運(yùn)行使用下面的命令:

 
 
 
 
  1. [root@host]# service postgresql restart 
  2. Stopping postgresql service:                               [  OK  ] 
  3. Starting postgresql service:                               [  OK  ] 

Windows用戶必須啟用php_pgsql.dll為了使用這個(gè)擴(kuò)展。這個(gè)DLL包含帶Windows分布在***版本PHP5.3.x

有關(guān)詳細(xì)的安裝說(shuō)明,請(qǐng)查看我們的PHP教程和其官方網(wǎng)站上。

PHP 接口APIs

以下是重要的PHP程序,可以連接使用PostgreSQL數(shù)據(jù)庫(kù)PHP程序。如果正在尋找一個(gè)更復(fù)雜的應(yīng)用程序,那么可以看看到PHP官方文件。

Windows用戶必須啟用php_pgsql.dll為了使用這個(gè)擴(kuò)展。這個(gè)DLL包含帶Windows分布在***版本PHP5.3.x

有關(guān)詳細(xì)的安裝說(shuō)明,請(qǐng)查看我們的PHP教程和其官方網(wǎng)站上。

PHP 接口APIs

以下是重要的PHP程序,可以連接使用PostgreSQL數(shù)據(jù)庫(kù)PHP程序。如果正在尋找一個(gè)更復(fù)雜的應(yīng)用程序,那么可以看看到PHP官方文件。

連接到數(shù)據(jù)庫(kù)

下面的PHP代碼顯示了如何連接到一個(gè)現(xiàn)有的在本地機(jī)器上的數(shù)據(jù)庫(kù),***將返回一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象。

 
 
 
 
  1.    $host        = "host=127.0.0.1"; 
  2.    $port        = "port=5432"; 
  3.    $dbname      = "dbname=testdb"; 
  4.    $credentials = "user=postgres password=pass123"; 
  5.  
  6.    $db = pg_connect( "$host $port $dbname $credentials"  ); 
  7.    if(!$db){ 
  8.       echo "Error : Unable to open database\n"; 
  9.    } else { 
  10.       echo "Opened database successfully\n"; 
  11.    } 
  12. ?> 

現(xiàn)在讓我們運(yùn)行上面的程序來(lái)打開數(shù)據(jù)庫(kù)testdb,如果成功打開數(shù)據(jù)庫(kù),然后它會(huì)給下面的消息:

 
 
 
 
  1. Opened database successfully 

創(chuàng)建表

下面的PHP程序?qū)⑹褂靡郧皠?chuàng)建的數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)表:

 
 
 
 
  1.    $host        = "host=127.0.0.1"; 
  2.    $port        = "port=5432"; 
  3.    $dbname      = "dbname=testdb"; 
  4.    $credentials = "user=postgres password=pass123"; 
  5.  
  6.    $db = pg_connect( "$host $port $dbname $credentials"  ); 
  7.    if(!$db){ 
  8.       echo "Error : Unable to open database\n"; 
  9.    } else { 
  10.       echo "Opened database successfully\n"; 
  11.    } 
  12.     
  13.    $sql =<<
  14.       CREATE TABLE COMPANY 
  15.       (ID INT PRIMARY KEY     NOT NULL, 
  16.       NAME           TEXT    NOT NULL, 
  17.       AGE            INT     NOT NULL, 
  18.       ADDRESS        CHAR(50), 
  19.       SALARY         REAL); 
  20. EOF; 
  21.  
  22.    $ret = pg_query($db, $sql); 
  23.    if(!$ret){ 
  24.       echo pg_last_error($db); 
  25.    } else { 
  26.       echo "Table created successfully\n"; 
  27.    } 
  28.    pg_close($db); 
  29. ?> 

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

 
 
 
 
  1. Opened database successfully 
  2. Table created successfully 

INSERT操作

PHP程序,顯示我們?nèi)绾蝿?chuàng)建表COMPANY 在上面的例子中,創(chuàng)建表中的記錄:

 
 
 
 
  1.    $host        = "host=127.0.0.1"; 
  2.    $port        = "port=5432"; 
  3.    $dbname      = "dbname=testdb"; 
  4.    $credentials = "user=postgres password=pass123"; 
  5.  
  6.    $db = pg_connect( "$host $port $dbname $credentials"  ); 
  7.    if(!$db){ 
  8.       echo "Error : Unable to open database\n"; 
  9.    } else { 
  10.       echo "Opened database successfully\n"; 
  11.    } 
  12.  
  13.    $sql =<<
  14.       INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) 
  15.       VALUES (1, 'Paul', 32, 'California', 20000.00 ); 
  16.  
  17.       INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) 
  18.       VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); 
  19.  
  20.       INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) 
  21.       VALUES (3, 'Teddy', 23, 'Norway', 20000.00 ); 
  22.  
  23.       INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) 
  24.       VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 ); 
  25. EOF; 
  26.  
  27.    $ret = pg_query($db, $sql); 
  28.    if(!$ret){ 
  29.       echo pg_last_error($db); 
  30.    } else { 
  31.       echo "Records created successfully\n"; 
  32.    } 
  33.    pg_close($db); 
  34. ?> 

上述程序執(zhí)行時(shí),它會(huì)創(chuàng)建COMPANY表中的記錄,并會(huì)顯示以下兩行:

 
 
 
 
  1. Opened database successfully 
  2. Records created successfully 

SELECT 操作

PHP程序表明我們?nèi)绾潍@取并顯示COMPANY 在上面的例子中創(chuàng)建表的記錄:

 
 
 
 
  1.    $host        = "host=127.0.0.1"; 
  2.    $port        = "port=5432"; 
  3.    $dbname      = "dbname=testdb"; 
  4.    $credentials = "user=postgres password=pass123"; 
  5.  
  6.    $db = pg_connect( "$host $port $dbname $credentials"  ); 
  7.    if(!$db){ 
  8.       echo "Error : Unable to open database\n"; 
  9.    } else { 
  10.       echo "Opened database successfully\n"; 
  11.    } 
  12.  
  13.    $sql =<<
  14.       SELECT * from COMPANY; 
  15. EOF; 
  16.  
  17.    $ret = pg_query($db, $sql); 
  18.    if(!$ret){ 
  19.       echo pg_last_error($db); 
  20.       exit; 
  21.    }  
  22.    while($row = pg_fetch_row($ret)){ 
  23.       echo "ID = ". $row[0] . "\n"; 
  24.       echo "NAME = ". $row[1] ."\n"; 
  25.       echo "ADDRESS = ". $row[2] ."\n"; 
  26.       echo "SALARY =  ".$row[4] ."\n\n"; 
  27.    } 
  28.    echo "Operation done successfully\n"; 
  29.    pg_close($db); 
  30. ?> 

當(dāng)上述程序執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果。字段返回序列中,它們被用來(lái)創(chuàng)建表的同時(shí)保持注意。

 
 
 
 
  1. Opened database successfully 
  2. ID = 1 
  3. NAME = Paul 
  4. ADDRESS = California 
  5. SALARY =  20000 
  6.  
  7. ID = 2 
  8. NAME = Allen 
  9. ADDRESS = Texas 
  10. SALARY =  15000 
  11.  
  12. ID = 3 
  13. NAME = Teddy 
  14. ADDRESS = Norway 
  15. SALARY =  20000 
  16.  
  17. ID = 4 
  18. NAME = Mark 
  19. ADDRESS = Rich-Mond 
  20. SALARY =  65000 
  21.  
  22. Operation done successfully 

UPDATE 操作

下面的PHP代碼顯示了如何我們可以使用UPDATE語(yǔ)句來(lái)更新任何記錄,然后獲取并顯示更新的記錄,從COMPANY 表:

 
 
 
 
  1.    $host        = "host=127.0.0.1"; 
  2.    $port        = "port=5432"; 
  3.    $dbname      = "dbname=testdb"; 
  4.    $credentials = "user=postgres password=pass123"; 
  5.  
  6.    $db = pg_connect( "$host $port $dbname $credentials"  ); 
  7.    if(!$db){ 
  8.       echo "Error : Unable to open database\n"; 
  9.    } else { 
  10.       echo "Opened database successfully\n"; 
  11.    } 
  12.    $sql =<<
  13.       UPDATE COMPANY set SALARY = 25000.00 where ID=1; 
  14. EOF; 
  15.    $ret = pg_query($db, $sql); 
  16.    if(!$ret){ 
  17.       echo pg_last_error($db); 
  18.       exit; 
  19.    } else { 
  20.       echo "Record updated successfully\n"; 
  21.    } 
  22.     
  23.    $sql =<<
  24.       SELECT * from COMPANY; 
  25. EOF; 
  26.  
  27.    $ret = pg_query($db, $sql); 
  28.    if(!$ret){ 
  29.       echo pg_last_error($db); 
  30.       exit; 
  31.    }  
  32.    while($row = pg_fetch_row($ret)){ 
  33.       echo "ID = ". $row[0] . "\n"; 
  34.       echo "NAME = ". $row[1] ."\n"; 
  35.       echo "ADDRESS = ". $row[2] ."\n"; 
  36.       echo "SALARY =  ".$row[4] ."\n\n"; 
  37.    } 
  38.    echo "Operation done successfully\n"; 
  39.    pg_close($db); 
  40. ?> 

當(dāng)上述程序執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果:

 
 
 
 
  1. Opened database successfully 
  2. Record updated successfully 
  3. ID = 2 
  4. NAME = Allen 
  5. ADDRESS = 25 
  6. SALARY =  15000 
  7.  
  8. ID = 3 
  9. NAME = Teddy 
  10. ADDRESS = 23 
  11. SALARY =  20000 
  12.  
  13. ID = 4 
  14. NAME = Mark 
  15. ADDRESS = 25 
  16. SALARY =  65000 
  17.  
  18. ID = 1 
  19. NAME = Paul 
  20. ADDRESS = 32 
  21. SALARY =  25000 
  22.  
  23. Operation done successfully 

DELETE 操作

下面的PHP代碼,表明我們?nèi)绾文軌蚴褂肈ELETE語(yǔ)句刪除任何記錄,然后獲取并顯示COMPANY 表剩余的記錄:

 
 
 
 
  1.    $host        = "host=127.0.0.1"; 
  2.    $port        = "port=5432"; 
  3.    $dbname      = "dbname=testdb"; 
  4.    $credentials = "user=postgres password=pass123"; 
  5.  
  6.    $db = pg_connect( "$host $port $dbname $credentials"  ); 
  7.    if(!$db){ 
  8.       echo "Error : Unable to open database\n"; 
  9.    } else { 
  10.       echo "Opened database successfully\n"; 
  11.    } 
  12.    $sql =<<
  13.       DELETE from COMPANY where ID=2; 
  14. EOF; 
  15.    $ret = pg_query($db, $sql); 
  16.    if(!$ret){ 
  17.       echo pg_last_error($db); 
  18.       exit; 
  19.    } else { 
  20.       echo "Record deleted successfully\n"; 
  21.    } 
  22.     
  23.    $sql =<<
  24.       SELECT * from COMPANY; 
  25. EOF; 
  26.  
  27.    $ret = pg_query($db, $sql); 
  28.    if(!$ret){ 
  29.       echo pg_last_error($db); 
  30.       exit; 
  31.    }  
  32.    while($row = pg_fetch_row($ret)){ 
  33.       echo "ID = ". $row[0] . "\n"; 
  34.       echo "NAME = ". $row[1] ."\n"; 
  35.       echo "ADDRESS = ". $row[2] ."\n"; 
  36.       echo "SALARY =  ".$row[4] ."\n\n"; 
  37.    } 
  38.    echo "Operation done successfully\n"; 
  39.    pg_close($db); 
  40. ?> 

當(dāng)上述程序執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果:

 
 
 
 
  1. Opened database successfully 
  2. Record deleted successfully 
  3. ID = 3 
  4. NAME = Teddy 
  5. ADDRESS = 23 
  6. SALARY =  20000 
  7.  
  8. ID = 4 
  9. NAME = Mark 
  10. ADDRESS = 25 
  11. SALARY =  65000 
  12.  
  13. ID = 1 
  14. NAME = Paul 
  15. ADDRESS = 32 
  16. SALARY =  25000 
  17.  
  18. Operation done successfully

原文鏈接:http://www.yiibai.com/html/postgresql/2013/080896.html


名稱欄目:PostgreSQL連接PHP
文章源于:http://www.dlmjj.cn/article/cdjjiis.html