PHP调用三种数据库的方法

发表于:2007-09-07来源:作者:点击数: 标签:
相信大家对 PHP 已经很熟悉了。PHP内置了几乎对世界上所有的 数据库 的支持,而不再需要重新扩充。所以有人说:不会用PHP调用数据库,等于没学PHP。下面是笔者根据本人的操作经验和大侠们的意见而得出的总结,希望能给初学者提供一些益处。 Oracle(甲骨文)
相信大家对PHP已经很熟悉了。PHP内置了几乎对世界上所有的数据库的支持,而不再需要重新扩充。所以有人说:不会用PHP调用数据库,等于没学PHP。下面是笔者根据本人的操作经验和大侠们的意见而得出的总结,希望能给初学者提供一些益处。


Oracle(甲骨文)是世界上最为流行的关系数据库。它是大公司推崇的工业化的强有力的引擎。我们先看看其相关的函数:

(1)integer ora_logon(string user , string password)

开始对一个Oracle数据库服务器的连接。

(2)integer ora_open(integer connection)

打开给出的连接的游标。

(3)integer ora_do(integer connection, string query)

在给出的连接上执行查询。PHP生成一个指示器,解析查询,并执行之。

(4)integer ora_parse(integer cursor, string query)

解析一个查询并准备好执行。

(5)boolean ora_exec(integer cursor)

执行一个先前由ora_parse函数解析过的查询。

(6)boolean ora_fetch(integer cursor)

此函数会使得一个执行过的查询中的行被取到指示器中。这使得您可以调用ora_getcolumn函数。

(7)string ora_getcolumn(integer cursor, integer column)

返回当前的值。列由零开始的数字索引。

(8)boolean ora_logoff(integer connection)

断开对数据库服务器的链接。

以下是向ORACLE数据库插入数据的示例程序:

〈html〉

〈head〉〈title〉向ORACLE数据库中插入数据〈/title〉〈/head〉

〈body〉

〈form action="〈?echo $PHP_SELF;?〉" method="post"〉

〈table border="1" cellspacing="0" cellpadding="0"〉

〈tr〉

〈th〉ID〈/th〉

〈th〉name〈/th〉

〈th〉Description〈/th〉

〈/tr〉

〈tr〉

〈td〉〈input type="text" name="name" maxlength="50" size="10"〉〈/td〉

〈td〉〈input type="text" name="email" maxlength="255" size="30"〉〈/td〉

〈td〉〈input type="text" name="Description" maxlength="255" size="50"〉〈/td〉

〈/tr〉

〈tr align="center"〉

〈td colspan="3"〉〈input type="submit" value="提交"〉 〈input type="reset" value="重写"〉〈/td〉

〈/tr〉

〈/table〉

〈/form〉

〈?

//先设置两个环境变量ORACLE_HOME,ORACLE_SID

putenv("ORACLE_HOME=/oracle/app/oracle/product/8.0.4");

putenv("ORACLE_SID=ora8");

//设置网页显示中文

putenv("NLS_LANG=Simplified_Chinese.zhs16cgb231280");

if($connection=ora_logon("scott","tiger")) {

//库表test有ID,name,Description三项

$sql = 'insert into test(ID,name,Description) values ';

$sql .= '('' . $ID . '','' . $name . '',''. $Description . '')';

if($cursor=ora_do($connect,$sql)) {

print("insert finished!");

}

$query = 'select * from test';

if($cursor=ora_do($connect,$query)) {

ora_fetch($cursor);

$content0=ora_getcolumn($cursor,0);

$content1=ora_getcolumn($cursor,1);

$content2=ora_getcolumn($cursor,2);

print("$content0");

print("$content1");

print("$content2");

ora_close($cursor);

}

ora_logoff($connection);

}

?〉

〈/body〉

〈/html

原文转自:http://www.ltesting.net