如何使用php读取和写入oracle 11g db

时间:2014-09-23 21:42:26

标签: php angularjs oracle11g oci

我是Angular JS和PHP的新手,这是我打算做的事情

  1. 使用Angular JS作为前端。
  2. 使用PHP从DB读取和写入数据并将其发送到Angular JS
  3. 我正在尝试使用oci_connect调用连接到oracle DB,这是我在运行php文件时在浏览器中显示的内容。

    Fatal error: Call to undefined function oci_connect() 
    

    我尝试按照这里提到的步骤进行操作 http://php.net/manual/en/oci8.installation.php

    PHP已预先安装在我的linux机器上,我不知道如何运行configure(从哪个目录) 我在我的数据库所在的同一主机上使用PHP服务器。如何验证是否已安装OCI库?我在php.ini中添加了以下行

    extension=oci8.so
    

    并重新启动了apache服务器,但没有运气:(

    这是我的PHP代码。

    <?php
    ini_set('display_startup_errors',1);
    ini_set('display_errors',1);
    error_reporting(-1);
    
    $conn = oci_connect('username','password','http://host:port/SID');
    
    if (!$conn) {
        $e = oci_error();
        trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    }
    // Prepare the statement
    $stid = oci_parse($conn, 'SELECT * FROM employees');
    if (!$stid) {
        $e = oci_error($conn);
        //trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    }
    // Perform the logic of the query
    $r = oci_execute($stid);
    if (!$r) {
        $e = oci_error($stid);
        trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    }
    // Fetch the results of the query
    print "<table border='1'>\n";
    while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
        print "<tr>\n";
        foreach ($row as $item) {
            print " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "    </td>\n";
        }
        print "</tr>\n";
    }
    print "</table>\n";
    oci_free_statement($stid);
    oci_close($conn);
    ?>
    

    感谢帮助!!

0 个答案:

没有答案