繁体   English   中英

无法在Codeigniter和Oracle中使用数据库查询

[英]Can't use database query in codeigniter and oracle

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

这是我的联系。 它可以正常工作并显示默认页面。

database.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';

看一看

在同一应用程序中将Codeigniter连接到mysql和oracle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM