<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Connecting to your Database : CodeIgniter User Guide</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='ExpressionEngine Dev Team' />
<meta name='description' content='CodeIgniter User Guide' />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>CodeIgniter User Guide Version 1.7</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
<a href="index.html">Database Library</a> &nbsp;&#8250;&nbsp;
Connecting
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->


<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>Connecting to your Database</h1>

<p>There are two ways to connect to a database:</p>

<h2>Automatically Connecting</h2>

<p>The "auto connect" feature will load and instantiate the database class with every page load.
To enable "auto connecting", add the word <var>database</var> to the library array, as indicated in the following file:</p>

<p><kbd>application/config/autoload.php</kbd></p>

<h2>Manually Connecting</h2>

<p>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.</p>

<code>$this->load->database();</code>

<p class="important">If the above function does <strong>not</strong> 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.</p>


<p>The first parameter of this function can <strong>optionally</strong> 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:</p>

<p>To choose a specific group from your config file you can do this:</p>

<code>$this->load->database('<samp>group_name</samp>');</code>

<p>Where <samp>group_name</samp> is the name of the connection group from your config file.</p>


<p>To connect manually to a desired database you can pass an array of values:</p>

<code>$config['hostname'] = "localhost";<br />
$config['username'] = "myusername";<br />
$config['password'] = "mypassword";<br />
$config['database'] = "mydatabase";<br />
$config['dbdriver'] = "mysql";<br />
$config['dbprefix'] = "";<br />
$config['pconnect'] = FALSE;<br />
$config['db_debug'] = TRUE;<br />
$config['cache_on'] = FALSE;<br />
$config['cachedir'] = "";<br />
$config['char_set'] = "utf8";<br />
$config['dbcollat'] = "utf8_general_ci";<br />
<br />
$this->load->database(<samp>$config</samp>);</code>

<p>For information on each of these values please see the <a href="configuration.html">configuration page</a>.</p>

<p>Or you can submit your database values as a Data Source Name. DSNs must have this prototype:</p>

<code>$dsn = 'dbdriver://username:password@hostname/database';<br />
<br />
$this->load->database(<samp>$dsn</samp>);</code>

<p>To override default config values when connecting with a DSN string, add the config variables as a query string.</p>

<code>$dsn = 'dbdriver://username:password@hostname/database?char_set=utf8&amp;dbcollat=utf8_general_ci&amp;cache_on=true&amp;cachedir=/path/to/cache';<br />
<br />
$this->load->database(<samp>$dsn</samp>);</code>

<h2>Connecting to Multiple Databases</h2>

<p>If you need to connect to more than one database simultaneously you can do so as follows:</p>


<code>$DB1 = $this->load->database('group_one', TRUE);<br />
$DB2 = $this->load->database('group_two', TRUE);
</code>

<p>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).</p>

<p>By setting the second parameter to TRUE (boolean) the function will return the database object.</p>

<div class="important">
<p>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:</p>

<p>$this->db->query();<br />$this->db->result();<br /> etc...</p>

<p>You will instead use:</p>

<p>$DB1->query();<br />$DB1->result();<br /> etc...</p>

</div>



	

</div>
<!-- END CONTENT -->


<div id="footer">
<p>
Previous Topic:&nbsp;&nbsp;<a href="configuration.html">Database Configuration</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Next Topic:&nbsp;&nbsp;<a href="queries.html">Queries</a>
</p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006-2008 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
</div>

</body>
</html>