【问题标题】:Can't use database query in codeigniter and oracle无法在 codeigniter 和 oracle 中使用数据库查询
【发布时间】:2016-02-18 09:00:55
【问题描述】:

我已经建立了与oracle 11g的连接,我可以看到登录页面,但是当我继续登录时,没有记录显示或无法登录。我试图在加载模型时输入代码来检查我是否连接到数据库。如果返回 TRUE 则我已连接,但它始终返回 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;
        }
    }
}

【问题讨论】:

    标签: php mysql database oracle codeigniter


    【解决方案1】:
    $db['oracle']['hostname'] = '10.10.10.1:1521/ocidb';
    

    看看

    Connecting codeigniter to mysql and oracle in the same application

    【讨论】:

    • 这不起作用!就我而言,我已连接到服务器并能够看到输出。我只是不知道为什么我不能在我的代码上使用选择、插入、更新或删除。并试图弄清楚我是否需​​要提交代码,因为我使用的是 oracle 数据库
    • 您是否在自动加载时加载了数据库
    • 是的,我做到了。我的程序在 mysql 上运行,但在使用 oracle 时遇到问题
    • 我尝试执行另一个程序并出现此错误...发生数据库错误错误号:SELECT * FROM "tbl_user" 文件名:/var/www/html/test2/models/user_db.php行号:6
    • 我认为只有一些语法错误。您可以尝试推荐 exit() 并查看您给出的代码的结果。
    猜你喜欢
    • 1970-01-01
    • 2015-06-23
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 2012-01-13
    • 2018-06-26
    相关资源
    最近更新 更多