標籤:
資料庫連接:
dbconn.php
<?php
$conn = pg_connect("host=localhost port=5432 dbname=myd user=postgres password=postgres");
if($conn){
print "has connected" . "<br>";
}else{
print "connect failure" . "<br>";
}
?>
插入操作:
insert.php
<?php
require_once ‘dbconn.php‘;
//下面是PHP插入postgreSQL資料庫使用prepared的方式;
/*
* 注意一下幾點:
* 1、待設定參數只能是$1起的一次往下類推,而不能是其他的任何東西如:$a是不合法的。
*
* 2、pg_prepare有三個必須的參數,第一個是資料庫的連結;第二個是我們先行編譯語句的名稱,
* 待以後使用,可以指定為"";第三個是我們要執行的SQL語句。
*
* 3、執行語句本列子在for迴圈中,第一參數是連結,第二參數是要執行的先行編譯語句,第三參數是一個數組用於
* 指定我們與先行編譯語句中的未設定的參數。
*/
$str = ‘insert into test values($1,$2)‘;
pg_prepare($conn, "mypre", $str);
for($i = 0; $i < 3; $i ++) :
pg_execute ( $conn, "mypre",array($i.‘A‘,$i.‘B‘) );
endfor;
?>
查詢及其刪除操作:
select.php
<?php
require_once ‘dbconn.php‘;
$str = "select * from test";
$resultSet = pg_query($conn,$str);
while ($row = pg_fetch_row($resultSet)){
print $row[0].‘ ‘.$row[1]."<br>";
}
?>
the next is affter delete;
<br/>
<?php
/**
* 以下是刪除的一種方法,是用pg_delete完成的,不知道能不能刪除多行記錄,反正我現在還沒有實現。
*
*/
$arr = array(‘id‘=>‘0A‘);
pg_delete($conn,‘test‘,$arr);
/**
* 以下是用先行編譯的形式實現的,但是當沒有未知的參數的時候,要傳給pg_execute函數一個空數組否則會報錯。
*
*/
$remove = ‘delete from test where id = $1‘;
pg_prepare($conn,"remove",$remove);
pg_execute($conn,"remove",array(‘id‘=>‘1A‘));
?>
<br/>
<?php
$resultSet = pg_query($conn,$str);
while ($row = pg_fetch_row($resultSet)){
print $row[0].‘ ‘.$row[1]."<br>";
}
?>
更新操作:
update.php
<?php
require_once ‘dbconn.php‘;
$update = ‘update test set email = $1 where id = $2‘;
pg_prepare($conn,‘update‘,$update);
$id = ‘1A‘;
pg_execute($conn,‘update‘,array(‘email‘=>‘111‘,‘id‘=>$id));
?>
注意:代碼中由於表中欄位相關的語句,表結構如下:
create table test (id cahr(8),email char(8));
[轉載]php串連postgreSQL資料庫及其操作(php5,postgreSQL9)