Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过控制器更改数据库文件_Php_Codeigniter - Fatal编程技术网

Php 通过控制器更改数据库文件

Php 通过控制器更改数据库文件,php,codeigniter,Php,Codeigniter,这是config文件夹中的database.php $tnsname = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.59)(PORT = 3021)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = xe)))'; $db['default'] = array( 'dsn' => '', 'hostname'

这是
config
文件夹中的
database.php

 $tnsname = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =        
 192.168.0.59)(PORT = 3021))
 (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = xe)))';

$db['default'] = array(
     'dsn'  => '',
     'hostname' => $tnsname,
     'username' => 'user',
     'password' => '******',
     'database' => '',
     'dbdriver' => 'oci8',
     'dbprefix' => '',
     'pconnect' => FALSE,
     'db_debug' => (ENVIRONMENT !== 'production'),
     'cache_on' => FALSE,
     'cachedir' => '',
     'char_set' => 'utf8',
     'dbcollat' => 'utf8_general_ci',
     'swap_pre' => '',
     'encrypt' => FALSE,
     'compress' => FALSE,
     'stricton' => FALSE,
     'failover' => array(),
     'save_queries' => TRUE
 );
如何通过
控制器更改变量值
$tnsname

当用户在系统中进行身份验证并在登录中选择代码时,此代码将指示该变量中的值(
$tnsname


有什么想法吗?

是的,就在config文件夹中database.php文件的这个数组上方,创建一个php函数,检查特定位置上是否有文件,如果没有。现在使数据库处于if状态

“此文件是一个json、php、xml、文本”任何包含用户数据库信息(如主机、用户、密码)的文件

因此,如果某个特定位置上有一个文件,那么代码将读取该文件并从该文件中提取数据,并根据需要将其用作变量。因此,如果用户未获得授权,则默认数据库处于活动状态,如果用户获得授权,则ci将使用if条件并连接到其他用户数据库

希望能有帮助


是的,同样的事情,我在Codeigniter中为一个多供应商项目做过,并且成功了。但是我的文件登录有点复杂,因为用户太多,所以我只是将其放在会话中,并使用会话变量。

谢谢您,但我不太理解。你能给我举个例子吗?