/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to codeigniter/user_guide/database/connecting.html

  • Committer: galaxyAbstractor
  • Date: 2013-04-10 15:49:32 UTC
  • mto: (19.1.5 lenasys)
  • mto: This revision was merged to the branch mainline in revision 23.
  • Revision ID: galaxyabstractor@gmail.com-20130410154932-4vizlzk0ar5gykvi
* Added an simple admin panel to the codeviewer-cmssy stuff
* Redesigned a bit like the mockups - still stuff to come
* Implemented the codeviewer + admin panel again using the Framework CodeIgniter instead 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
2
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
3
<head>
 
4
 
 
5
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
6
<title>Connecting to your Database : CodeIgniter User Guide</title>
 
7
 
 
8
<style type='text/css' media='all'>@import url('../userguide.css');</style>
 
9
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
 
10
 
 
11
<script type="text/javascript" src="../nav/nav.js"></script>
 
12
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
 
13
<script type="text/javascript" src="../nav/moo.fx.js"></script>
 
14
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
 
15
 
 
16
<meta http-equiv='expires' content='-1' />
 
17
<meta http-equiv= 'pragma' content='no-cache' />
 
18
<meta name='robots' content='all' />
 
19
<meta name='author' content='ExpressionEngine Dev Team' />
 
20
<meta name='description' content='CodeIgniter User Guide' />
 
21
 
 
22
</head>
 
23
<body>
 
24
 
 
25
<!-- START NAVIGATION -->
 
26
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
 
27
<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>
 
28
<div id="masthead">
 
29
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
 
30
<tr>
 
31
<td><h1>CodeIgniter User Guide Version 2.1.3</h1></td>
 
32
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
 
33
</tr>
 
34
</table>
 
35
</div>
 
36
<!-- END NAVIGATION -->
 
37
 
 
38
 
 
39
<!-- START BREADCRUMB -->
 
40
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
 
41
<tr>
 
42
<td id="breadcrumb">
 
43
<a href="http://codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
 
44
<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
 
45
<a href="index.html">Database Library</a> &nbsp;&#8250;&nbsp;
 
46
Connecting
 
47
</td>
 
48
<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>
 
49
</tr>
 
50
</table>
 
51
<!-- END BREADCRUMB -->
 
52
 
 
53
 
 
54
<br clear="all" />
 
55
 
 
56
 
 
57
<!-- START CONTENT -->
 
58
<div id="content">
 
59
 
 
60
 
 
61
<h1>Connecting to your Database</h1>
 
62
 
 
63
<p>There are two ways to connect to a database:</p>
 
64
 
 
65
<h2>Automatically Connecting</h2>
 
66
 
 
67
<p>The "auto connect" feature will load and instantiate the database class with every page load.
 
68
To enable "auto connecting", add the word <var>database</var> to the library array, as indicated in the following file:</p>
 
69
 
 
70
<p><kbd>application/config/autoload.php</kbd></p>
 
71
 
 
72
<h2>Manually Connecting</h2>
 
73
 
 
74
<p>If only some of your pages require database connectivity you can manually connect to your database by adding this
 
75
line of code in any function where it is needed, or in your class constructor to make the database
 
76
available globally in that class.</p>
 
77
 
 
78
<code>$this->load->database();</code>
 
79
 
 
80
<p class="important">If the above function does <strong>not</strong> contain any information in the first parameter it will connect
 
81
to the group specified in your database config file. For most people, this is the preferred method of use.</p>
 
82
 
 
83
<h3>Available Parameters</h3>
 
84
 
 
85
<ol>
 
86
        <li>The database connection values, passed either as an array or a DSN string.</li>
 
87
        <li>TRUE/FALSE (boolean).  Whether to return the connection ID (see Connecting to Multiple Databases below).</li>
 
88
        <li>TRUE/FALSE (boolean).  Whether to enable the Active Record class.  Set to TRUE by default.</li>
 
89
</ol>
 
90
 
 
91
 
 
92
<h3>Manually Connecting to a Database</h3>
 
93
 
 
94
<p>The first parameter of this function can <strong>optionally</strong> be used to specify a particular database group
 
95
from your config file, or you can even submit connection values for a database that is not specified in your config file.
 
96
Examples:</p>
 
97
 
 
98
<p>To choose a specific group from your config file you can do this:</p>
 
99
 
 
100
<code>$this->load->database('<samp>group_name</samp>');</code>
 
101
 
 
102
<p>Where <samp>group_name</samp> is the name of the connection group from your config file.</p>
 
103
 
 
104
 
 
105
<p>To connect manually to a desired database you can pass an array of values:</p>
 
106
 
 
107
<code>$config['hostname'] = "localhost";<br />
 
108
$config['username'] = "myusername";<br />
 
109
$config['password'] = "mypassword";<br />
 
110
$config['database'] = "mydatabase";<br />
 
111
$config['dbdriver'] = "mysql";<br />
 
112
$config['dbprefix'] = "";<br />
 
113
$config['pconnect'] = FALSE;<br />
 
114
$config['db_debug'] = TRUE;<br />
 
115
$config['cache_on'] = FALSE;<br />
 
116
$config['cachedir'] = "";<br />
 
117
$config['char_set'] = "utf8";<br />
 
118
$config['dbcollat'] = "utf8_general_ci";<br />
 
119
<br />
 
120
$this->load->database(<samp>$config</samp>);</code>
 
121
 
 
122
<p>For information on each of these values please see the <a href="configuration.html">configuration page</a>.</p>
 
123
 
 
124
<p>Or you can submit your database values as a Data Source Name. DSNs must have this prototype:</p>
 
125
 
 
126
<code>$dsn = 'dbdriver://username:password@hostname/database';<br />
 
127
<br />
 
128
$this->load->database(<samp>$dsn</samp>);</code>
 
129
 
 
130
<p>To override default config values when connecting with a DSN string, add the config variables as a query string.</p>
 
131
 
 
132
<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 />
 
133
<br />
 
134
$this->load->database(<samp>$dsn</samp>);</code>
 
135
 
 
136
<h2>Connecting to Multiple Databases</h2>
 
137
 
 
138
<p>If you need to connect to more than one database simultaneously you can do so as follows:</p>
 
139
 
 
140
 
 
141
<code>$DB1 = $this->load->database('group_one', TRUE);<br />
 
142
$DB2 = $this->load->database('group_two', TRUE);
 
143
</code>
 
144
 
 
145
<p>Note: Change the words "group_one" and "group_two" to the specific group names you are connecting to (or
 
146
you can pass the connection values as indicated above).</p>
 
147
 
 
148
<p>By setting the second parameter to TRUE (boolean) the function will return the database object.</p>
 
149
 
 
150
<div class="important">
 
151
<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>
 
152
 
 
153
<p>$this->db->query();<br />$this->db->result();<br /> etc...</p>
 
154
 
 
155
<p>You will instead use:</p>
 
156
 
 
157
<p>$DB1->query();<br />$DB1->result();<br /> etc...</p>
 
158
 
 
159
</div>
 
160
 
 
161
<h2>Reconnecting / Keeping the Connection Alive</h2>
 
162
 
 
163
<p>If the database server's idle timeout is exceeded while you're doing some heavy PHP lifting (processing an image, for instance), you should consider pinging the server by using the <dfn>reconnect()</dfn> method before sending further queries, which can gracefully keep the connection alive or re-establish it.</p>
 
164
 
 
165
<code>$this->db->reconnect();</code>
 
166
 
 
167
<h2>Manually closing the Connection</h2>
 
168
 
 
169
<p>While CodeIgniter intelligently takes care of closing your database connections, you can explicitly close the connection.</p>
 
170
 
 
171
<code>$this->db->close();</code>
 
172
</div>
 
173
<!-- END CONTENT -->
 
174
 
 
175
 
 
176
<div id="footer">
 
177
<p>
 
178
Previous Topic:&nbsp;&nbsp;<a href="configuration.html">Database Configuration</a>
 
179
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
 
180
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
 
181
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
 
182
Next Topic:&nbsp;&nbsp;<a href="queries.html">Queries</a>
 
183
</p>
 
184
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2012 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
 
185
</div>
 
186
 
 
187
</body>
 
188
</html>
 
 
b'\\ No newline at end of file'