Как войти в базу данных с отдельными паролями? - PullRequest
1 голос
/ 26 октября 2010

Как мне войти в базу данных с отдельными паролями?Мы можем настроить только одного пользователя в database.php.Я хочу, чтобы процесс входа в систему происходил с другим именем пользователя и паролем MySQL, потому что эта таблица защищена.

Ответы [ 2 ]

2 голосов
/ 26 октября 2010

создайте еще одну группу соединений в вашей базе данных. Php

$active_group = "post";
$active_record = TRUE;

$db['default']['hostname'] = "localhost";
$db['default']['username'] = "user";
$db['default']['password'] = "user-only";
$db['default']['database'] = "something";
$db['default']['dbdriver'] = "mysql";
$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['post']['hostname'] = "localhost";
$db['post']['username'] = "admin";
$db['post']['password'] = "admin-only";
$db['post']['database'] = "something";
$db['post']['dbdriver'] = "mysql";
$db['post']['dbprefix'] = "";
$db['post']['pconnect'] = TRUE;
$db['post']['db_debug'] = TRUE;
$db['post']['cache_on'] = FALSE;
$db['post']['cachedir'] = "";
$db['post']['char_set'] = "utf8";
$db['post']['dbcollat'] = "utf8_general_ci";

создайте еще два файла модели.один файл загружает конфигурацию «по умолчанию», а другой - «пост».

например:

$DB1 = $this->load->database('default', TRUE);
$DB2 = $this->load->database('post', TRUE);
2 голосов
/ 26 октября 2010

Следуя пользовательской документации, вы найдете эту страницу: http://codeigniter.com/user_guide/database/connecting.html

В документации говорится, что вы можете подключиться к нескольким базам данных, указав группу.Если вы посмотрите в свой файл database.php, то увидите, что массивы соединений отформатированы следующим образом:

$db['default']['hostname'] = "localhost";

Здесь «группа» имеет значение по умолчанию , которое загружается таквы всегда делали:

$this->load->database();

Когда вам нужно подключиться к другой базе данных, укажите новую группу:

$db['my_secret_db']['hostname'] = "localhost";
$db['my_secret_db']['username'] = "other_mysql_user";
...

И вы загрузите ее так:

$MyOriginalDb = $this->load->database('default', true);
$MyOtherDb = $this->load->database('my_secret_db', true);

Загружая эти соединения в их собственные объекты, вы теперь будете использовать:

$MyOtherDb->query();

вместо

$this->db->query();

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...