在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ PHP連接PostgreSQL數(shù)據(jù)庫(kù)
PostgreSQL LIKE條件
PostgreSQL截?cái)啾恚═RUNCATE TABLE語(yǔ)句)
C/C++連接PostgreSQL數(shù)據(jù)庫(kù)
PostgreSQL別名
PostgreSQL日期和時(shí)間函數(shù)
PostgreSQL NOT IN條件
PostgreSQL歷史
PostgreSQL事務(wù)
PostgreSQL AND & OR條件
PostgreSQL NULL值
PostgreSQL教程
PostgreSQL更新數(shù)據(jù)(UPDATE語(yǔ)句)
PostgreSQL ORDER BY子句
PostgreSQL分組(GROUP BY子句)
PostgreSQL數(shù)據(jù)類(lèi)型
PostgreSQL特點(diǎn)
PostgreSQL刪除數(shù)據(jù)庫(kù)
PostgreSQL UNIONS子句
PostgreSQL AND條件
PostgreSQL索引
PostgreSQL刪除表
Perl連接PostgreSQL數(shù)據(jù)庫(kù)
PostgreSQL視圖
PostgreSQL修改表(ALTER TABLE語(yǔ)句)
PostgreSQL全外連接
PostgreSQL命令語(yǔ)法大全
PostgreSQL查詢(xún)數(shù)據(jù)(SELECT語(yǔ)句)
PostgreSQL自動(dòng)遞增
PostgreSQL左外連接
PostgreSQL創(chuàng)建表
PostgreSQL模式(架構(gòu))
PostgreSQL觸發(fā)器
PostgreSQL安裝(Windows)
PostgreSQL NOT條件
PostgreSQL Having子句
PostgreSQL函數(shù)(存儲(chǔ)過(guò)程)
Java連接PostgreSQL數(shù)據(jù)庫(kù)
PostgreSQL權(quán)限
PostgreSQL OR條件
PostgreSQL創(chuàng)建數(shù)據(jù)庫(kù)
PostgreSQL BETWEEN條件
PostgreSQL IN條件
Python連接PostgreSQL數(shù)據(jù)庫(kù)
PostgreSQL刪除數(shù)據(jù)(DELETE語(yǔ)句)
PostgreSQL子查詢(xún)
PostgreSQL右外連接
PostgreSQL插入數(shù)據(jù)(INSERT語(yǔ)句)
PostgreSQL是什么?
PostgreSQL連接(內(nèi)連接)
PHP連接PostgreSQL數(shù)據(jù)庫(kù)
PostgreSQL條件查詢(xún)
PostgreSQL鎖
PostgreSQL跨連接(CROSS JOIN)

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

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

yum install php-pgsql

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

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

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

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

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

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

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

<?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)在,讓我們運(yùn)行上面的程序打開(kāi)數(shù)據(jù)庫(kù):testdb,如果成功打開(kāi)數(shù)據(jù)庫(kù)連接,那么它將給出以下消息:

Opened database successfully

創(chuàng)建表

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

<?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í)行上述程序時(shí),它將在testdb數(shù)據(jù)庫(kù)中創(chuàng)建COMPANY表,并顯示以下消息:

Opened database successfully
Table created successfully

插入操作

以下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í)行上述程序時(shí),它將在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í)行上述程序時(shí),將產(chǎn)生以下結(jié)果。 請(qǐng)記下,在創(chuàng)建表時(shí)按照它們使用的順序返回字段。

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語(yǔ)句來(lái)更新指定記錄,然后從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í)行上述程序時(shí),會(huì)產(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語(yǔ)句刪除指定記錄,然后從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í)行上述程序時(shí),會(huì)產(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