不能在代码点火器和预言机中使用数据库查询


Can't use database query in codeigniter and oracle

我已经设置了与oracle 11g的连接,我可以看到登录页面,但是当我继续登录时,没有记录显示或无法登录。我尝试输入代码以检查加载模型时是否连接到数据库。如果返回 TRUE,则 Im 已连接,但它始终返回 FALSE 并显示回显"未选择数据库"。可能的原因是什么?使用 mysql 和 oracle 创建查询有什么区别吗?选择查询时是否需要在代码上放置提交?

这是我的联系。它有效并显示默认页面。

数据库.php

$tnsname = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.112)(PORT = 1521))
    (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))';
$db['default']['hostname'] = $tnsname;
$db['default']['username'] = 'test';
$db['default']['password'] = 'testpass';
$db['default']['database'] = 'testdb';
$db['default']['dbdriver'] = 'oci8'; //Oracle 11g
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

这是我选择登录的代码

<?php
class User_db extends CI_model {
    public function get_record($username, $password) {
        if ($this->load->database('default')==FALSE)
        {
           exit('No database connection!');
        }
        $query=$this->db->get_where("tbl_user", array("username"=>$username, "password"=>md5($password)));
        if($query->num_rows()==1) {
            return $query->result();
        }
        else {
            return FALSE;
        }
    }
}
$db['oracle']['hostname'] = '10.10.10.1:1521/ocidb';

看一看

在同一应用程序中将代码点火器连接到 mysql 和 oracle