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); ?>