gpt4 book ai didi

php - 在 codeigniter 中切换数据库

转载 作者:搜寻专家 更新时间:2023-10-30 22:19:08 24 4
gpt4 key购买 nike

我有两个需要连接的数据库,我可以在我编写的 Controller 和库中进行连接。由于一些奇怪的原因(我假设我只是在这里遗漏了一些简单的东西)我突然无法让它在模型中工作。我已经阅读了 CI 用户指南中的数据库类。

我尝试在加载 pew 时引用 $pew ($this->pew =& $this->load->database('pew', TRUE)) 但无济于事。

有什么想法、建议吗?谢谢!

错误

PHP Fatal error:  Call to a member function query() on a non-object in
/Sites/CI/nyan/application/models/pewpewmodel.php on line 15

第 15 行

$this->pew->query('SELECT * FROM ExtractEvent'); //simplified for testing

数据库.php:

$active_group = 'nyan';
$active_record = TRUE;

$db['nyan']['hostname'] = 'catcatcat';
$db['nyan']['username'] = 'mew';
$db['nyan']['password'] = 'meow';
$db['nyan']['database'] = 'meow';
$db['nyan']['dbdriver'] = 'mysql';

$db['pew']['hostname'] = 'jujubees';
$db['pew']['username'] = 'qwop';
$db['pew']['password'] = 'qwop';
$db['pew']['database'] = 'nom';
$db['pew']['dbdriver'] = 'mssql';

模型 pewpewmodel.php

private $pew; 

function __construct()
{
parent::__construct();
$this->pew = $this->load->database('pew', TRUE);
}

function get_forms_by_date($id = NULL, $Year = NULL, $Month = NULL, $Day = NULL)
{
$this->pew->query('SELECT * FROM ExtractEvent'); //simplified for testing
}

Controller nomnom.php

public function index()
{
$this->load->model('pewmodel');
$data['Forms'] = $this->pewmodel->get_forms_by_date($this->session->userdata('Username'), date('Y'), date('n'), date('j'));
$this->load->view('common/header', $data['Forms']);
$this->load->view('home/index');
$this->load->view('common/footer');
}

查看index.php

<pre>
<?php print_r($Forms); ?>
</pre>

最佳答案

这对我有用。

[来自模型构造器内部]

        $db['hostname'] = 'localhost';
$db['username'] = 'root';
$db['password'] = '';
$db['database'] = 'my_database';
$db['dbdriver'] = 'mysql';
$db['dbprefix'] = '';
$db['pconnect'] = TRUE;
$db['db_debug'] = TRUE;
$db['cache_on'] = FALSE;
$db['cachedir'] = '';
$db['char_set'] = 'latin1';
$db['dbcollat'] = 'latin1_bin';
$db['swap_pre'] = '';
$db['autoinit'] = TRUE;
$db['stricton'] = FALSE;

$this->load->database($db, FALSE, TRUE);
// False=don't return db object
// True =use as active record, so it replaces default $this->db

希望这能帮助编码人员像我一样通过 Google 进行搜索。

关于php - 在 codeigniter 中切换数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6654174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com