Heim > Artikel > Backend-Entwicklung > php如何读oracle
RT,已经在php.ini中启用了extension=php_oci8_11g.dll ,可在phpinfo中看不到oci信息,请问还需进行其他什么配置吗?oracle11g的
需要安装 oracle11g 的客户端
因为自 oracle 9 起,他的客户端就单独发行了,php 已经没有必要将客户端捆绑进来
所以只提供了与客户端通讯的接口 php_oci8 和 php_oci8_11g
由于 oracle11g 的客户端做了很大的改动,因此才有 php_oci8_11g 与之连接,主要是为了使用 oracle 的新功能
需要安装 oracle11g 的客户端
因为自 oracle 9 起,他的客户端就单独发行了,php 已经没有必要将客户端捆绑进来
所以只提供了与客户端通讯的接口 php_oci8 和 php_oci8_11g
由于 oracle11g 的客户端做了很大的改动,因此才有 php_oci8_11g 与之连接,主要是为了使用 oracle 的新功能
你看看这个 http://download.csdn.net/download/eisjmo/4362471
很长时间没有弄了,细节都记不清了
不过映像中只要 setup 就可以了,没有什么需要配置的
很长时间没有弄了,细节都记不清了
不过映像中只要 setup 就可以了,没有什么需要配置的
贴出你的代码
贴出你的代码
<?php $conn = oci_connect('system', '123456', 'aaa');if (!$conn) { $e = oci_error(); print htmlentities($e['message']); exit;}$query = 'SELECT * FROM DEPARTMENTS';//编译SQL语句:函数:oci_parse()$stid = oci_parse($conn, $query);if (!$stid) { $e = oci_error($conn); print htmlentities($e['message']); exit;}//执行SQL语句:函数:oci_execute();$r = oci_execute($stid, OCI_DEFAULT);if(!$r) { $e = oci_error($stid); echo htmlentities($e['message']); exit;}print '<table border="1">';while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) { print '<tr>'; foreach($row as $item) { print '<td>'.($item?htmlentities($item):' ').'</td>'; } print '</tr>';}print '</table>';oci_close($conn);?>
你改用 PDO 方式
你改用 PDO 方式
$tns="aaa";try{ $conn=new PDO("oci:dbname=".$tns, 'system', '123456');}catch(PDOException $e){ echo ($e->getMessage());}
$db = new PDO('oci:dbname=//机器名或ip:1521/实例名', '用户名', '口令');
$rs = $db->query('sql指令' );
$db = new PDO('oci:dbname=//机器名或ip:1521/实例名', '用户名', '口令');
$rs = $db->query('sql指令' );