本文實例講述了PHP使用ODBC連接數(shù)據(jù)庫的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
為坊子等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及坊子網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、成都做網(wǎng)站、坊子網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Strict//EN"
""
html
xmlns=""
xml:lang="en"
lang="en"
head
titlePHP
and
ODBC:
XHTML
Example
1/title
meta
http-equiv="Content-Type"
content="text/html;
charset=UTF-8"
/
/head
body
?php
$conn
=
odbc_connect(
"DRIVER={MySQL
ODBC
3.51
Driver};Server=localhost;Database=phpodbcdb",
"username",
"password");
if
(!($conn))
{
echo
"pConnection
to
DB
via
ODBC
failed:
";
echo
odbc_errormsg
($conn
);
echo
"/p\n";
}
$sql
=
"SELECT
1
as
test";
$rs
=
odbc_exec($conn,$sql);
echo
"tabletr";
echo
"thTest/th/tr";
while
(odbc_fetch_row($rs))
{
$result
=
odbc_result($rs,"test");
echo
"trtd$result/td/tr";
}
odbc_close($conn);
echo
"/table";
?
/body
/html
希望本文所述對大家的php程序設(shè)計有所幫助。
Progress的ODBC并不是通用的,需要用專門的ODBC工具軟件來連接,最常用的是Merant ODBC,此以Merant3.7來介紹如何連接progress數(shù)據(jù)庫,由于可能存在不同的操作系統(tǒng),當(dāng)然連接方式有些不同.使用Merant3.7需要在客戶端安裝Progress數(shù)據(jù)庫才可以.
服務(wù)端unix(即數(shù)據(jù)庫存放在unix上),客戶端window2000服務(wù)器配置:
1.在/etc/services配置文件中添加一行啟動odbc的端口,例如:
merant 6000/tcp # merantODBC的端口
2.在需要使用odbc的用戶的.profile文件中增加變量及路徑例如:
DLC=/dlc/91e /*安裝的progress的路徑*/
PROOIBRK=/dlc/91e/bin/_prooibk /*需要調(diào)用的程序的路徑*/PROOIDRV=/dlc/91e/bin/_prooidv /*需要調(diào)用的程序的路徑*/PATH=/dlc/91e/bin:$PATH
export PATH
export DLC
export PROOIBRK
export PROOIDRV
3.執(zhí)行啟動odbc的命令
例如:
/dlc/91e/bin/_prooibk -SV -S merant /*根據(jù)progress安裝的目錄不同會不同,merant是services中增加的端口名稱,兩邊可以隨便取名字但必須一樣*/客戶端配置:
1.同服務(wù)端配置一樣需要在C:WINNTsystem32driversetc的services文件中增加一行例如:
merant 6000/tcp # merantODBC的端口
2.在系統(tǒng)控制臺增加環(huán)境變量,建議增加系統(tǒng)的環(huán)境變量,根據(jù)客戶端progress安裝的目錄不同,可能有所不同DLC c:dlc The directory where you installed the Progress client piecesIDLC c:dlc Required only for 8.1 or higher clientsPROMSGS c:dlcpromsgs The directory and name of the message fileIPROMSGS c:dlcpromsgs Required only for 8.1 or higher clientsPATH c:dlcbin;c:dlc;c:winNTsystem32;%path% Example for Windows NTTEMP c:temp
3.在odbc數(shù)據(jù)源中作如下配置:
general:
data source name:自己取名
description:隨便
database name:數(shù)據(jù)庫的名字
user id:不填
oid/oib options:
protocol:tcp
service name:在services文件中加的merantodbc的端口名稱host name:服務(wù)器的名稱或ip(建議用ip,否則還要在hosts文件中加解析)database options:
database access mode:via server
protocol:tcp
service name:啟動數(shù)據(jù)庫的端口名(是在服務(wù)端啟動數(shù)據(jù)庫服務(wù)的端口名也是在服務(wù)端的services文件中)host name:啟動數(shù)據(jù)庫服務(wù)的機(jī)器名或ip(推薦ip)完成后應(yīng)該可以連接上了
php-odbc
本函數(shù)用來鏈接到 ODBC 數(shù)據(jù)庫,返回值為鏈接的代號 ID 值。參數(shù) dsn 為資料來源名稱 (Data Sources Name)。參數(shù) user 及 password 分別為鏈接的帳號及密碼。參數(shù) cursor_type 通常省略,其值有 SQL_CUR_USE_IF_NEEDED、SQL_CUR_USE_ODBC、SQL_CUR_USE_DRIVER 及 SQL_CUR_DEFAULT 等四種。當(dāng)使用復(fù)雜的資料存取時可能會有類似 "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it" 的錯誤信息字符串,此時若將參數(shù) cursor_type 的值設(shè)為 SQL_CUR_USE_ODBC 就可以避開了。
php-pear
PEAR是PHP擴(kuò)展與應(yīng)用庫(the PHP Extension and Application Repository)的縮寫。它是一個PHP擴(kuò)展及應(yīng)用的一個代碼倉庫,簡單地說,PEAR就是PHP的CPAN。