亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

windwos下使用php連接oracle數據庫的過程分享

2024-05-04 23:23:53
字體:
來源:轉載
供稿:網友

要使用php連接oracle,基本條件是
1.需要你安裝了php、
2.安裝了oracle、
3.配置了tnsname.ora。
本地命令行使用sqlplus能夠連接到oracle。

根據你機器的版本選對64bit或者32bit的php程序,我們使用php的oci8擴展連接oracle

安裝好php后,打開oci8擴展,

寫一段連接oracle的ora.php代碼

復制代碼 代碼如下:


<?php

$conn = oci_connect('hr', 'welcome', 'MYDB');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Prepare the statement
$stid = oci_parse($conn, 'SELECT * FROM departments');
if (!$stid) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Perform the logic of the query
$r = oci_execute($stid);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Fetch the results of the query
print "<table>/n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    print "<tr>/n";
    foreach ($row as $item) {
        print "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : " ") . "</td>/n";
    }
    print "</tr>/n";
}
print "</table>/n";

oci_free_statement($stid);
oci_close($conn);

?>

說明:
oci_connect('hr', 'welcome', 'MYDB')
第一個參數是oracle的用戶名,
第二個參數是oracle的密碼
第三個參數是tnsnames.ora里的連接串名

命令行下執行

復制代碼 代碼如下:

php ora.php

提示如下錯誤

復制代碼 代碼如下:


PHP Warning: PHP Startup: Unable to load dynamic library 'C:/php/php_oci8.dll'- %1 不是有效的 Win32 應用程序。 in Unknown on line 0
PHP Parse error: syntax error, unexpected '"user"' (T_CONSTANT_ENCAPSED_STRING) in C:/Users/nginx/Desktop/oraclephpoci/oci.php on line 3

開始以為是沒有選對版本,我是64位的機器,結果說是win32的程序,一看字面提示,我就重新安裝了新的32bit程序還是報錯。

仔細查了查發現在32位像64位遷移的問題,出現如下問題時,我們需要安裝Oracle Instant Client。

復制代碼 代碼如下:


Unable to load dynamic library 'C:/Program Files (x86)/PHP/ext/php_oci8_11g.dll' - %1 is not a valid Win32 application.
Warning oci_connect(): OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries


Oracle Instant Client,它是一個解壓后就能使用的程序,不需要安裝。
如果有oracle賬號的可以去oracle下載對應的版本,(注冊用戶需要一堆信息)

嫌麻煩的同學使用這個地址下載

%20Instant%20Client/

下載后把壓縮包解壓到c:/oracleinstantclient,并添加路徑到環境變量PATH

重新執行php ora.php,“%1 不是有效的 Win32 應用程序”的錯誤沒有了,但是會提示

復制代碼 代碼如下:

syntax error, unexpected T_CONSTANT_ENCAPSED_STRING


代碼是從php官網直接拷過來的,代碼中有不可見的字符,使用notepad++查看所有字符,去掉亂碼即可。

繼續執行,這次提示,

復制代碼 代碼如下:


PHP Fatal error: ORA-12154: TNS:could not resolve the connect identifier specified in C:/Users/nginx/Desktop/airline/oci.php on line 6


看樣子是php沒有找到tnsnames.ora的位置,時間比較趕,那我就直接使用ip的形式,具體格式根據你的信息拼寫oci_connect的第三個參數
oracle10格式:[//]host_name[:port][/service_name]
oracle11格式:[//]host_name[:port][/service_name][:server_type][/instance_name].
我具體使用的php oci連接串是:

復制代碼 代碼如下:

$conn = oci_connect('hr', 'welcome', '//www.49028c.com:1523/sycx');

配好上述信息后,終于能出結果了,但是發現查出來的結果中問亂碼,這種問題基本都是編碼不匹配。

php oci8中文亂碼解決辦法,先查詢你的oracle的數據庫編碼使用,

復制代碼 代碼如下:

select userenv('language') from dual;


查出來的結果是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,在php的代碼里設置環境變量

復制代碼 代碼如下:

putenv("NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK");

終于php能夠正確連接到oracle啦。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品视频www| 全色精品综合影院| 九九热精品视频在线播放| 日韩资源在线观看| 色婷婷综合久久久久| 欧美国产视频一区二区| 欧美成人免费大片| 成人做爰www免费看视频网站| 久久影院资源站| 亚洲国产欧美精品| 亚洲在线免费观看| 欧美另类极品videosbestfree| 国产精品久久久久久久天堂| 国产999精品视频| 亚洲精品中文字幕av| 91日韩在线播放| 久久久久久高潮国产精品视| 国产在线精品一区免费香蕉| 亚洲国产精品专区久久| 亚洲加勒比久久88色综合| 2019中文在线观看| 亚洲成人黄色网址| 中文字幕精品一区二区精品| 久久视频免费在线播放| 色噜噜狠狠狠综合曰曰曰88av| 欧美日韩免费看| 日本一区二区不卡| 亚洲黄色av女优在线观看| 国产精品免费小视频| 国产视频一区在线| 精品国产一区二区三区久久| 欧美美女操人视频| 亚洲精品国偷自产在线99热| 亚洲午夜激情免费视频| 亚洲免费影视第一页| 国产精品偷伦一区二区| 亚洲天堂影视av| 久久香蕉国产线看观看av| 中文字幕亚洲欧美日韩高清| 亚洲自拍偷拍区| 国a精品视频大全| 国产精品a久久久久久| 欧美xxxwww| 成人黄色免费看| 深夜精品寂寞黄网站在线观看| 国产成人aa精品一区在线播放| 欧美日韩国产成人| 国产第一区电影| 久久影院资源网| 国产精品久久网| 国产亚洲精品成人av久久ww| 亚洲一级黄色av| 亚洲欧美日韩视频一区| 欧美一区二区三区艳史| 91在线直播亚洲| 九九热精品在线| 日韩欧美国产网站| 亚洲精品成人久久电影| 欧美电影在线观看网站| 2018中文字幕一区二区三区| 久久久人成影片一区二区三区| 国产精品福利久久久| 最近2019中文字幕一页二页| 欧美一级bbbbb性bbbb喷潮片| 国产69精品99久久久久久宅男| xxxx欧美18另类的高清| 亚洲精品suv精品一区二区| 国产精品一区二区三区在线播放| 亚洲影视九九影院在线观看| 2019亚洲日韩新视频| 日韩中文字幕视频在线| 日韩av在线免费观看一区| 国产精品9999| 欧美电影免费观看网站| 欧美午夜视频在线观看| 久久这里有精品视频| 成人激情视频免费在线| 一本色道久久88综合日韩精品| 精品电影在线观看| 亚洲高清免费观看高清完整版| 亚洲福利精品在线| 欧美老女人在线视频| 66m—66摸成人免费视频| 成人亚洲欧美一区二区三区| 欧美小视频在线| 热久久美女精品天天吊色| 亚洲福利在线播放| 亚洲高清久久网| 国产大片精品免费永久看nba| 国产精品扒开腿做| 精品国产乱码久久久久久虫虫漫画| 国产成人涩涩涩视频在线观看| 2019最新中文字幕| 亚洲国产欧美一区二区三区同亚洲| 久久久久久久av| 国产成人福利夜色影视| 国产精品27p| 亚洲最大av网| 国产精品久久久久久久午夜| 久久久综合av| 中文字幕亚洲欧美一区二区三区| 热99精品只有里视频精品| 91精品国产自产在线老师啪| 57pao国产精品一区| 久久久免费高清电视剧观看| 91精品国产综合久久香蕉| 亚洲第一男人av| 日韩av手机在线观看| 亚洲欧美日韩爽爽影院| 欧美在线一级va免费观看| 78m国产成人精品视频| 成人性生交大片免费看小说| 日韩在线视频网| 久热在线中文字幕色999舞| 日产精品99久久久久久| 一区二区在线视频| 亚洲美女av黄| 久99久在线视频| 国产精品pans私拍| 日韩欧美中文免费| 久久精品成人欧美大片| 日本韩国欧美精品大片卡二| 色妞在线综合亚洲欧美| 欧美性xxxxxx| 欧洲日本亚洲国产区| 最近2019中文字幕一页二页| 国产日韩欧美影视| 欧洲美女7788成人免费视频| 成人av色在线观看| 日韩欧美在线观看| 国产噜噜噜噜久久久久久久久| 国产精品久久久久久久7电影| 精品国产1区2区| 亚洲天堂av网| 欧美在线视频免费| 福利视频一区二区| 一区二区三区国产在线观看| 91av在线免费观看视频| 欧美激情精品久久久久久久变态| 92看片淫黄大片看国产片| 亚洲欧美制服第一页| 97免费视频在线播放| 国产精品高潮呻吟久久av野狼| 91九色视频在线| 日韩av在线免费看| 国产成人久久精品| 亚洲精品视频二区| 日韩美女写真福利在线观看| 日韩黄色av网站| 国产成人久久久精品一区| 一本色道久久综合亚洲精品小说| 国产精品欧美在线| 久久精品电影网站| 一区二区成人av| 欧美夫妻性生活xx| 久久人人爽人人爽爽久久| 久久99热精品这里久久精品| 国产a级全部精品| 国产亚洲精品久久久久久牛牛| 国产精品电影在线观看| 国产精品网站大全| 国产精品丝袜久久久久久不卡| 日本亚洲欧美三级| 亚洲欧美日本精品|