PHP连接Oracle12c数据库

1、这里假设读者安装完毕,我安装的是wamp(PHP集成环境)+Oracle12,wamp自带mysql,但是有时候必须要使用Oracle或者向我期末作业需要等因素。

安装步骤Oracle12c见另一篇博客:Oracle12c数据库安装(自带sql develop)

安装wamp,百度寻找相应安装步骤,我是腾讯安全管家的软件管理直接安装好,再需要另行相应一些参数的配置

2、我们需要相应的去官网下载PHP扩展包,一般PHP自带扩展的oracle10和oracle11g连接的扩展动态链接库(dll文件)

     官网地址:http://pecl.php.net/package/oci8           

  仔细阅读Description描述内容,可能你安装的php跟我的版本不一样,需要变通下载相应的文件,我的PHP版本是5.5.12,因此下载的是oci8-2.0.12

3、那么如何知道自己PHP版本情况呢?

    (1)若安装的是wamp,则可以直接右下角wamp图标,左键->PHP->version,可以查看到PHP版本情况

    (2)也可以直接利用自己的PHP编程工具,利用PHP输出相应的版本信息

<?php
    Phpinfo();
?>

我的执行结果:

4、下载完oci8-2.0.12后,我们会用到三个重要的动态链接库文件,分别是php_oci8.dll、php_oci8_11g.dll、php_oci8_12c.dll,这里我们需要用到相应版本的链接库,我的是Oracle12c,则是php_oci8_12c.dll,首先我们需要找到右下角wamp->PHP->php.in文件,然后找到 下图中的地方添加extension=php_oci8_12c.dll  ; Use with Oracle 12c Instant Client,封号表示注释,需要用什么版本就是把前面的封号去掉


5、复制相应的动态链接库到两个地方

(1)\$wamp安装目录\bin\php\php5.5.12\ext

  (2)   C:\Windows\System32

  PS:可能还要复制到C:\Windows\SysWOW64

6、将wamp->PHP->PHP extensions,把php_oci8_12c和php_oci8勾上

7、重启wamp

8、执行PHP连接数据库代码

<?php
//这一段连接数据库库失败
/*$dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =10.1.253.45)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(INSTANCE_NAME = orcl)))";
$conn = oci_connect('c##scott','tiger',$dbstr);
*/
//oci_connect('账号','密码',远程连接ip地址:端口/服务名);//如果去掉最后一个参数或者为“ ”,默认连接本机,第一个参数是
$conn = oci_connect('c##scott','tiger');
$stmt = oci_parse($conn, "select * from emp");
oci_execute($stmt);
$nrows = oci_fetch_all($stmt, $results);
if ($nrows > 0) {
echo "<table border=\"1\">\n";
echo "<tr>\n";
foreach ($results as $key => $val) {
echo "<th>$key</th>\n";
}
echo "</tr>\n";
for ($i = 0; $i < $nrows; $i++) {
echo "<tr>\n";
foreach ($results as $data) {
echo "<td>$data[$i]</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
} else {
echo "No data found<br />\n";
}
echo " $nrows Records Selected<br />\n";
oci_free_statement($stmt);
oci_close($conn);
?>

猜你喜欢

转载自blog.csdn.net/qq_32589355/article/details/80324233
今日推荐