PostgreSQL连接PHP

安装

睢阳ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

PostgreSQL的扩展是默认启用的***版本的PHP5.3.x.但是它可能通过在编译时加上--without-pgsql 选项禁用。但仍然可以使用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启动Postgres服务器,它没有运行使用下面的命令:

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

Windows用户必须启用php_pgsql.dll为了使用这个扩展。这个DLL包含带Windows分布在***版本PHP5.3.x

有关详细的安装说明,请查看我们的PHP教程和其官方网站上。

PHP 接口APIs

以下是重要的PHP程序,可以连接使用PostgreSQL数据库PHP程序。如果正在寻找一个更复杂的应用程序,那么可以看看到PHP官方文件。

Windows用户必须启用php_pgsql.dll为了使用这个扩展。这个DLL包含带Windows分布在***版本PHP5.3.x

有关详细的安装说明,请查看我们的PHP教程和其官方网站上。

PHP 接口APIs

以下是重要的PHP程序,可以连接使用PostgreSQL数据库PHP程序。如果正在寻找一个更复杂的应用程序,那么可以看看到PHP官方文件。

连接到数据库

下面的PHP代码显示了如何连接到一个现有的在本地机器上的数据库,***将返回一个数据库连接对象。

 
 
 
 
  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. ?> 

现在让我们运行上面的程序来打开数据库testdb,如果成功打开数据库,然后它会给下面的消息:

 
 
 
 
  1. Opened database successfully 

创建表

下面的PHP程序将使用以前创建的数据库中创建一个表:

 
 
 
 
  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. ?> 

上述程序执行时,它会创建表COMPANY在数据库testdb 中 ,它会显示以下消息:

 
 
 
 
  1. Opened database successfully 
  2. Table created successfully 

INSERT操作

PHP程序,显示我们如何创建表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.  
  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. ?> 

上述程序执行时,它会创建COMPANY表中的记录,并会显示以下两行:

 
 
 
 
  1. Opened database successfully 
  2. Records created successfully 

SELECT 操作

PHP程序表明我们如何获取并显示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.  
  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. ?> 

当上述程序执行时,它会产生以下结果。字段返回序列中,它们被用来创建表的同时保持注意。

 
 
 
 
  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语句来更新任何记录,然后获取并显示更新的记录,从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. ?> 

当上述程序执行时,它会产生以下结果:

 
 
 
 
  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代码,表明我们如何能够使用DELETE语句删除任何记录,然后获取并显示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. ?> 

当上述程序执行时,它会产生以下结果:

 
 
 
 
  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.shufengxianlan.com/qtweb/news39/218839.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联