Manually Connecting
If only some of your pages require database connectivity you can manually
connect to your database by adding this line of code in any function where
it is needed, or in your class constructor to make the database available
globally in that class.
$this->load->database();
If the above function does *not* contain any information in the first
parameter it will connect to the group specified in your database config
file. For most people, this is the preferred method of use.
Available Parameters
1. The database connection values, passed either as an array or a DSN
string.
2. TRUE/FALSE (boolean). Whether to return the connection ID (see
Connecting to Multiple Databases below).
3. TRUE/FALSE (boolean). Whether to enable the Active Record class. Set
to TRUE by default.
Manually Connecting to a Database
The first parameter of this function can *optionally* be used to specify a
particular database group from your config file, or you can even submit
connection values for a database that is not specified in your config file.
Examples:
To choose a specific group from your config file you can do this:
$this->load->database('group_name');
Where group_name is the name of the connection group from your config file.
To connect manually to a desired database you can pass an array of values:
$config['hostname'] = "localhost";
$config['username'] = "myusername";
$config['password'] = "mypassword";
$config['database'] = "mydatabase";
$config['dbdriver'] = "mysql";
$config['dbprefix'] = "";
$config['pconnect'] = FALSE;
$config['db_debug'] = TRUE;
$config['cache_on'] = FALSE;
$config['cachedir'] = "";
$config['char_set'] = "utf8";
$config['dbcollat'] = "utf8_general_ci";
$this->load->database($config);
For information on each of these values please see the configuration
page<http://codeigniter.com/user_guide/database/configuration.html>
.
Or you can submit your database values as a Data Source Name. DSNs must have
this prototype:
$dsn = 'dbdriver://username:passw...@hostname/database';
$this->load->database($dsn);
To override default config values when connecting with a DSN string, add the
config variables as a query string.
$dsn = 'dbdriver://username:passw...@hostname
/database?char_set=utf8&dbcollat=utf8_general_ci&cache_on=true&cachedir=/path/to/cache';
$this->load->database($dsn); Connecting to Multiple Databases
If you need to connect to more than one database simultaneously you can do
so as follows:
$DB1 = $this->load->database('group_one', TRUE);
$DB2 = $this->load->database('group_two', TRUE);
Note: Change the words "group_one" and "group_two" to the specific group
names you are connecting to (or you can pass the connection values as
indicated above).
By setting the second parameter to TRUE (boolean) the function will return
the database object.
When you connect this way, you will use your object name to issue commands
rather than the syntax used throughout this guide. In other words, rather
than issuing commands with:
$this->db->query();
$this->db->result();
etc...
You will instead use:
$DB1->query();
$DB1->result();
etc...
--
Marcus Cavalcanti
21 9144-5068
www.marcuscavalcanti.net/blog
2009/4/28 Djalma Araújo | www.djalmaaraujo.com.br <[email protected]>
> Opa, quando eu configuro no database.php além da conexão default uma outra
> é blza. Sem broncas. Mas eu pergunto a vocês, qual seria a melhor solução
> para eessa conexão ser dinâmica, por exemplo, eu acessaria outro site
> remotamente. Então eu não posso ter fixo no database.php a conexão, pois ela
> poderá ser qualquer uma.
>
> Alguém tem uma sugestão?
>
>
>
> --
> Atenciosamente,
> Djalma Araújo
> Consultor / Desenvolvedor WEB.
> www.djalmaaraujo.com.br
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br