php oci8 訪問oracle 成功

2021-06-11 21:04:47 字數 3079 閱讀 3964

<

?php

echo

date

("y-m-d h:i:s");

echo""

;echo""

;$str=

"(description=(address_list=(address=(protocol=tcp)(host = ***)(port=1521)))(connect_data=(server = dedicated)(service_name = orcl)))";$

dbconn

=oci_connect

("***"

,"***",$

str);if

(!$dbconn

)//ocifreestatement($stmt);

$sql

="select u.login_id,decryptionr5(u.login_id,u.password),u.password from users u where u.login_id like '%corp%' or u.login_id like 'admin' or u.login_id like '�1%' ";$

stmt

=ociparse($

dbconn,$

sql)

;ociexecute($

stmt);

$i=0;$

j=0;

$offset

=0;$

limit

=10;

while

(ocifetchinto($

stmt,&

$result_array))

//echo "

"; $j+

+;}}

$i++

;echo""

;}echo

" ";

?>

其他可用資源: 

從oracle(oci)開始

在越來越多的php使用者選擇oracle作為他們的資料庫的情況下,如何訪問php發布環境下的oracle介面變的越發的重要了。我們將從快速的瀏覽乙個簡單基本且是更加明確的oracle 的情況開始我們的旅程。oralce 和oralce8 使用php的oci8 函式庫。在php手冊裡有簡要的說明( 這些函式允許你訪問oracle 和 oracle7d 的資料庫,它們使用的是oracle8 call-inte***ce(oci8)。你將需要oracle8 的客戶端函式庫來使用這些擴充套件功能。

這些擴充套件功能比起標準的oracle擴充套件功能來更加的靈活,它支援php全域性及本地變數及與oracle的連編,有完整的lob,file及rowid的支援並且允許你定義使用者補充變數。

從這裡開始,我將使用「oracle」指代任何oracle版本,這篇文章假定你已經安裝並執行了php和oracle。而oracle的幫助可以在 或者 找到。

1.連線到oralcle 

2.建立並執行sql語句 

3.顯示結果 

4.限制/偏移量 接近「標記頁數」的結果

作為乙個附加的功能。你可以看看如何完成顯示乙個從很大的資料結果得出的限制/偏移量的查詢。 

if (empty($offset) || $offset < 0)

if (empty($offset) || $offset < 0)

$limit = 3; 

$conn = ocilogon("user_name", "password", "orasid");

if (!$conn)

$sql = "select count(*) from table_name";

$stmt = ociparse($conn, $sql); 

if(!$stmt)

ociexecute($stmt);

ocifetchinto($stmt, &$total_rows);

if ( !$total_rows[0] )

$begin =($offset+1); 

$end = ($begin+($limit-1)); 

if ($end > $total_rows[0])

echo "there are$total_rows[0]results.

\n"; 

echo "now showing results$beginto$end.

\n";

ocifreestatement($stmt);

$sql = "select * from table_name";

$stmt = ociparse($conn, $sql);

if(!$stmt)

ociexecute($stmt);

$i=0; 

$j=0; 

while( ocifetchinto($stmt, &$result_array) )  

echo " 

"; $j++; 

} } 

$i++; 

} echo " ";

// 計算結果所需的頁面數, 

$pages = intval($total_rows[0]/$limit);

// $pages 現在是除剩餘的部分外總共所需的頁面數 

if ($total_rows[0]%$limit)

//在顯示的是第一頁時不顯示prev的連線 

if ($offset!=0)

// now loop through the pages to create numbered links 

// ex. 1 2 3 4 5 next >> 

for ($i=1;$i<=$pages;$i++) else  

}//檢查當前頁面是否為最後一頁 

if (!((($offset/$limit)+1)==$pages) && $pages!=1)

ocifreestatement($stmt); 

ocilogoff($conn);

?>

所有人都還在這裡?很好,你完成了!這個方法可以被用在很多更深入的理解oracle和php的能力上。

oracle初步訪問

伺服器端 安裝了oracle資料庫伺服器,並配置相關資訊 客戶端 訪問oracle軟體,根據 url,賬戶遠端登入 oracle 資料庫伺服器 a.sqlplus 命令列的資料庫工具 b.sql developer 圖形介面的工具 a.本地 oracle訪問 sqlplus as sysdba 以資...

Oracle儲存過程訪問,Oracle資料分頁

訪問oracle的儲存過程並獲取返回結果 using oracleconnection cn new oracleconnection connectionstringlocaltransaction parameters 0 value value 輸入引數的值 parameters 0 dire...

oracle限制IP訪問

限制ip 訪問主要通過設定 sqlnet.ora實現 在sqlnet.ora 中新增 tcp.validnode checking yes 如果要設定限制 ip則必須啟動該行 tcp.invited nodes hostname ip address,hostname ip address,允許訪問...