當前位置:首頁 » 編程語言 » php操作oracle

php操作oracle

發布時間: 2023-05-02 05:01:54

A. 如何用php連接Oracle資料庫,並輸出

用pdo,指定資料庫類型:oracle,然後查詢即可。具體網路吧,pdo的使用方法,挺簡單的。使用pdo的優勢在於可以隨意切換資料庫種類,管你是oracle/mysql/sqlserver,統統按pdo的查詢方法寫即可。

B. PHP連接oracle資料庫後查詢多個表怎麼輸出到對應的表格內

用聯合查詢就可以實現
一般包括左外連接,右外連接和內連接
可以用on設置每兩個表之間的關聯關系,查詢後遍歷輸出到頁面就可以了

C. 在php環境中,從oracle中獲取數據如何提取具體值

連接 <? if ($conn=Ora_Logon("user@TNSNAME","password")) { echo "SUCCESS ! Connected to database\n"; }else {echo "Failed :-( Could not connect to database\n";} Ora_Logoff($conn); phpinfo(); ?>以上代碼使用TNSNAME(在你的tnsnames.ora文件中指明)定義的Oracle資料庫名稱、用戶名稱和密碼連接資料庫。在成功連接的基礎上,ora_logon函數返回一個非零的連接ID並儲存在變數$conn中。 查詢 假設與資料庫已經連接就緒,下面我們就來實際的應用對資料庫的查詢。下面的代碼演示了一個連接並查詢的典型例子: function printoraerr($in_cur) { // 檢查Oracle是否出錯 // 如果存在錯誤則顯示 // 當指針被激活時每次請求Oracle後調用該函數 if(ora_errorcode($in_cur)) echo "Oracle code - ".ora_error($in_cur)."\n"; return; } if (!($conn=ora_logon("user@TNSNAME","password"))) {echo "Connection to database failed\n"; exit; } echo "Connected as connection - $conn \n"; echo "Opening cursor ... \n"; $cursor=ora_open($conn); printoraerr($cursor); echo "Opened cursor - $cursor \n"; $qry="select user,sysdate from al"; echo "Parsing the query $qry ... \n"; ora_parse($cursor,$qry,0); printoraerr($cursor); echo "Query parsed \n"; echo "Executing cursor ... \n"; ora_exec($cursor); printoraerr($cursor); echo "Executed cursor \n"; echo "Fetching cursor ... \n"; while(ora_fetch($cursor)) { $user=ora_getcolumn($cursor,0); printoraerr($cursor); $sysdate=ora_getcolumn($cursor,1); printoraerr($cursor); echo " row = $user, $sysdate \n"; } echo "Fetched all records \n"; echo "Closing cursor ... \n"; ora_close($cursor); echo "Closed cursor \n"; echo "Logging off from oracle... \n"; ora_logoff($conn); echo "Logged off from oracle \n"; ?>顯示結果以下代碼演示了怎樣查詢資料庫並將結果輸出: function printoraerr($in_cur, $conn) { // 檢查Oracle是否出錯 // 如果存在錯誤則顯示 // 當指針被激活時每次請求Oracle後調用該函數 // If it encountered an error, we exit immediately if(ora_errorcode($in_cur)) {echo "Oracle code - ".ora_error($in_cur)." n"; ora_logoff($conn); exit; } return; } function exequery($w_qry,$conn) { $cursor=ora_open($conn); printoraerr($cursor,$conn); ora_parse($cursor,$w_qry,0); printoraerr($cursor,$conn); ora_exec($cursor); printoraerr($cursor,$conn); $numrows=0; $w_numcols=ora_numcols($cursor); // 顯示頭部 echo " \n"; for ($i=0;$i<$w_numcols;$i++) { $align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT"; echo "\t ".ora_columnname($cursor,$i)." \n"; } echo " \n"; while(ora_fetch($cursor)) { echo " \n"; for ($i=0;$i<$w_numcols;$i++) { $align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT"; if(ora_columntype($cursor,$i)=="LONG") echo " ". ora_getcolumn($cursor,$i)." \n"; else echo " ".ora_getcolumn($cursor,$i)." \n"; printoraerr($cursor,$conn); } $numrows++; echo " \n"; } if ($numrows==0) echo " Query returned no records \n"; else { echo " \n"; echo " Count \n"; echo " $numrows \n"; echo " \n"; } echo " \n"; ora_close($cursor); return; } // 主程序 if(!($conn=ora_logon("user@SID","password"))) { echo "Error: Cannot connect to database\n"; exit; } $qry="SELECT deptno \"Dept\" ,empno \"Emp\" ,empnm \"Name\" ,salary \"Salary\" FROM employee ORDER BY 1,2"; exequery($qry); ora_logoff($conn); ?>基於HTTP的Oracle登錄將以下代碼加在PHP頁面代碼之前以確認Oracle登錄。注意你必須正確設定$ SID。 if(!isset($PHP_AUTH_USER)) { Header("WWW-authenticate: basic realm=\"$SID\""); Header("HTTP/1.0 401 Unauthorized"); $title="Login Instructions"; echo " You are not authorized to enter the site \n"; exit; } else { if (!($conn=ora_logon("$PHP_AUTH_USER@$SID",$PHP_AUTH_PW))) {Header("WWW-authenticate: basic realm=\"$SID\""); Header("HTTP/1.0 401 Unauthorized"); $title="Login Instructions"; echo " You are not authorised to enter the site \n"; exit; }} ?>

D. php操作oracle資料庫,如果返回select語句返回的行數

SELECT 語句用於從資料庫中選取數據。
語句1:SELECT * FROM table_name
解說:意思就是讀取整個表table_name裡面的數據顯示出來
語句1:SELECT * FROM table_name Where x = 1
解說:意思就是讀取表table_name裡面鍵名為:x 值為:1的 數據顯示出來
例子:
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br />";
}
mysql_close($con);
?>

資料庫採用UTF8編碼,而頁面申明編碼是GB2312,這是最常見的產生亂碼的原因。
這時候在PHP腳本裡面直接SELECT數據出來的就是亂碼,需要在查詢前先使用:
mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");

來設定MYSQL連接編碼,保證頁面申明編碼與這里設定的連接編碼一致(GBK是GB2312的擴展)。如果頁面是UTF-8編碼的話,可以用:
mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如頁面申明的編碼與資料庫內部編碼一致可以不設定連接編碼。
代碼如下:
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");

E. php7配置oracle11g,怎麼配置連接上

php配置oracle非常的簡單需吧php.ini文件中的配置,去掉 ;extention = php_oci8.dll,去掉前面的分號,重啟apache就可以了
oracle資料庫建立鏈接,代碼如下:
1:
$conn =
oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL
=TCP)(HOST=192.168.1.100)(PORT = 1521))(CONNECT_DATA =(SID=test)))");
2:
$conn = oci_connect('username','password','192.168.1.100/test');

3.Oracle 連接方法
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
完整的例子如下:
<?php
$conn = oci_connect('hr', 'hr', 'orcl'); // 建立連接
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}
$query = 'SELECT * FROM DEPARTMENTS'; // 查詢語句
$stid = oci_parse($conn, $query); // 配置SQL語句,准備執行
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}
$r = oci_execute($stid, OCI_DEFAULT); // 執行SQL。OCI_DEFAULT表示不要自動commit
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}
// 列印執行結果
print '<table border="1">';
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print '<tr>';
foreach($row as $item) {
print '<td>'.($item?htmlentities($item):' ').'</td>';
}
print '</tr>';
}
print '</table>';
oci_close($conn);
?>

F. php 連接oracle資料庫語句怎麼寫

以系統為windowns為例,
1、先PHP.INI中的oracle擴展也開啟了
PHP下php.ini(注意,有時是在windows目錄)修改下下
其中的
extension=php_oci8.dll 去掉前面的「;」號
extension=php_oracle.dll 去掉前面的「;」號

把php_oci8.dll 、和php_oracle.dll 文件復制到windwos的system32下
2、系統中應當有安裝ORCALE的系統,然後配製遠程ORACLE的的監聽。就是你能用你配好的ORACLE系統訪問遠程的資料庫。
{例:
在ORACLE安裝目錄下找到tnsnames.ora,然後按下面的例子配置一下
BASETEST 命名=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.XX.XX伺服器IP地址)(PORT = 1521埠))
)
(CONNECT_DATA = (SERVICE_NAME = masprod 實例ID))
)
}
3.在你的PHP網頁目錄下寫個測試連接的程序試試
<?php
$dbconn=OCILogon("username","pwd","(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = [遠程伺服器IP])(PORT = 1515))
)
(CONNECT_DATA =
(SERVICE_NAME = [資料庫名字])
))");
if($dbconn!=false)
{
echo "連接成功";
if(OCILogOff($dbconn)==true)
{
echo "關閉連接成功!";//=這里有問題
}
}
else
{
echo "連接失敗";
}
?>

G. php中怎麼配置支持oracle 11g資料庫

1、安裝oracle 11g client或instantclient 11
2、編譯php支持oracle
--with-oci8[=DIR]
--with-pdo-oci[=DIR]
3、配置php.ini支持oracle 11g
windows:
extension=php_oci8_11g.dll
linux:參考
http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html
4、ora.php實例
<?php
$conn = oci_connect('user', 'passwd', 'ip:1521/orcl'); // 建立連接
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}

$query = 'SELECT * FROM account'; // 查詢語句

$stid = oci_parse($conn, $query); // 配置SQL語句,准備執行
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}

$r = oci_execute($stid, OCI_DEFAULT); // 執行SQL。OCI_DEFAULT表示不要自動commit
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}
// 列印執行結果
print '<table border="1">';
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print '<tr>';
foreach($row as $item) {
print '<td>'.($item?htmlentities($item):' ').'</td>';
//print_r($item);
}
print '</tr>';
}
print '</table>';
oci_close($conn);
?>

H. php PDO操作oracle,如何返回sql語句所影響的記錄行數

主要是三條語句:
1、聲明一個PDO對象:
$conn = new PDO("");
2、運用exec函數:
$sql="DELETE FROM fruit WHERE colour = 'red'";
sql語句不能是select操作,select操作用這個鋒談函漏者數不會銀搜碰返回結果
$count = $conn->exec($sql);
3、輸出結果:
print("Deleted $count rows.\n");

I. php,pdo怎麼連接oracle資料庫

要讓php支持oracle非常的簡單我們只要把php.ini中的;extention = php_oci8.dll分號去掉即可.

請先安裝oracle的客戶端,能夠用客戶端訪問oracle。

php支持oracle連接函數

php.ini文件中的配置,去掉 ;extention = php_oci8.dll,去掉前面的分號,重啟apache就可以了,如果不行,我們再把php目錄中的php_oci8.dll拷到windows系統的system32下面去吧.

oracle資料庫建立鏈接,代碼如下:

$conn=oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))(CONNECT_DATA=(SID=test)))");

J. PHP怎麼連接ORACLE並且取出數據

PHP遠程兄余連接Oracle需要OCI包,這個包由oracle提供,可以拿盯直羨敏滾接安裝Oracle的InstantClient來得到這個包; 安裝很簡單 rpm -Uvh oracle-instantclient-basic-10.2.0.3-1.i386.rpm rpm -Uvh oracle-instantclient-devel-10.2.0.3-1.i386.rpm 安裝完成...

熱點內容
18經驗起床的伺服器ip 發布:2024-11-01 12:30:15 瀏覽:39
這個鎖屏密碼是什麼 發布:2024-11-01 12:24:51 瀏覽:91
相機存儲卡排名 發布:2024-11-01 12:24:49 瀏覽:958
androidxml格式化 發布:2024-11-01 12:23:14 瀏覽:165
Vb6編譯是錯誤不知道錯誤代碼 發布:2024-11-01 12:16:23 瀏覽:159
區域網電腦訪問伺服器怎麼提速 發布:2024-11-01 12:14:09 瀏覽:322
美創資料庫 發布:2024-11-01 12:05:45 瀏覽:916
你改愛奇藝密碼什麼意思 發布:2024-11-01 12:04:48 瀏覽:408
矩陣分解python 發布:2024-11-01 11:58:23 瀏覽:367
如何查詢微信支付密碼修改記錄 發布:2024-11-01 11:51:57 瀏覽:206