1. <?php
2.
3. echo date("Y-m-d H:i:s");
4. echo "<br />";
5. echo "<br />";
6. $str="(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST = XXX)(PORT=1521)))(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME = orcl)))";
7. $dbconn=oci_connect("xxx","xxx",$str);
8. if(!$dbconn)
9. {
10. echo "Can not connect.";
11. exit;
12. }
13.
14. //OCIFreeStatement($stmt);
15.
16. $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%' ";
17. $stmt = OCIParse($dbconn, $sql);
18. OCIExecute($stmt);
19.
20.
21.
22. $i=0;
23. $j=0;
24. $offset=0;
25. $limit=10;
26. while( OCIFetchInto($stmt, &$result_array)) {
27. if ($i>=$offset) {
28. if ($j <$limit) {
29. for ($k=0; $k<=count($result_array); $k++)
30. {
31. //echo $k;
32. echo $result_array[$k]." | ";
33. }
34. //echo "<br />";
35. $j++;
36. }
37. }
38. $i++;
39. echo "<br />";
40. }
41. echo " ";
42.
43. ?>
其他可用資源:
從Oracle(OCI)開始
在越來越多的PHP使用者選擇Oracle作為他們的資料庫的情況下,如何通路PHP釋出環境下的Oracle接口變的越發的重要了。我們将從快速的浏覽一個簡單基本且是更加明确的Oracle 的情況開始我們的旅程。Oralce 和Oralce8 使用PHP的OCI8 函數庫。在PHP手冊裡有簡要的說明(http://www.php.net/manual/ref.oci8.php): 這些函數允許你通路Oracle 和 Oracle7d 的資料庫,它們使用的是Oracle8 Call-Interface(OCI8)。你将需要Oracle8 的用戶端函數庫來使用這些擴充功能。
這些擴充功能比起标準的Oracle擴充功能來更加的靈活,它支援PHP全局及本地變量及與Oracle的連編,有完整的LOB,FILE及ROWID的支援并且允許你定義使用者補充變量。
從這裡開始,我将使用“Oracle”指代任何Oracle版本,這篇文章假定你已經安裝并運作了PHP和Oracle。而Oracle的幫助可以在http://www.oracle.com 或者 http://technet.oracle.com 找到。
1.連接配接到ORALCLE
2.建立并運作SQL語句
3.顯示結果
4.限制/偏移量 接近“标記頁數”的結果
if (empty($offset) || $offset < 0) {
$offset=0;
} if (empty($offset) || $offset < 0) {
$offset=0;
}
$conn = OCILogon("user_name", "password", "ORASID");
echo "
ERROR - Could not connect to Oracle";
exit;
}
$sql = "Select count(*) from table_name";
if(!$stmt) {
echo " ERROR - Could not parse SQL statement.";
exit;
}
OCIExecute($stmt);
OCIFetchInto($stmt, &$total_rows);
echo "
Error - no rows returned!";
exit;
}
$end = ($begin+($limit-1));
if ($end > $total_rows[0]) {
$end = $total_rows[0];
}$total_rows[0] results.
\n";
echo "Now showing results $begin to $end.
\n"; OCIFreeStatement($stmt);
$sql = "Select * from table_name";
$stmt = OCIParse($conn, $sql);
echo "
ERROR - Could not parse SQL statement.";
exit;
}
OCIExecute($stmt);
$j=0;
while( OCIFetchInto($stmt, &$result_array) ) {
if ($i>=$offset) {
if ($j <$limit) {
for ($k=0; $k<=count($result_array); $k++) {
echo $result_array[$k]." ";
}
echo "
";
$j++;
}
}
$i++;
}
echo "
";
$pages = intval($total_rows[0]/$limit);
if ($total_rows[0]%$limit) {
// has remainder so add one page
$pages++;
} if ($offset!=0) {
$prevoffset=$offset-$limit;
echo "<< PREV \n";
} // ex. 1 2 3 4 5 NEXT >>
for ($i=1;$i<=$pages;$i++) {
// Check if on current page
if (($offset/$limit) == ($i-1)) {
// $i is equal to current page, so don't display a link
echo "$i ";
} else {
// $i is NOT the current page, so display a link to page $i
$newoffset=$limit*($i-1);
echo "$i \n";
}
} if (!((($offset/$limit)+1)==$pages) && $pages!=1) {
// Not on the last page yet, so display a NEXT Link
$newoffset=$offset+$limit;
echo "NEXT >> }
OCILogoff($conn);
?>