PHP调用三种数据库的方法(3)

  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>