summaryrefslogtreecommitdiffstats
path: root/user_guide/database/fields.html
blob: a5f22ae2e0dd8677cd9484e6588dee4cedb867c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<!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>Field Data : 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 2.2.0</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;
Field Names
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="ellislab.com/codeigniter/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>Field Data</h1>


<h2>$this->db->list_fields()</h2>
<p>Returns an array containing the field names. This query can be called two ways:</p>


<p>1. You can supply the table name and call it from the <dfn>$this->db-></dfn> object:</p>

<code>
$fields = $this->db->list_fields('table_name');<br /><br />

foreach ($fields as $field)<br />
{<br />
&nbsp;&nbsp;&nbsp;echo $field;<br />
}
</code>

<p>2. You can gather the field names associated with any query you run by calling the function
from your query result object:</p>

<code>
$query = $this->db->query('SELECT * FROM some_table');
<br /><br />

foreach ($query->list_fields() as $field)<br />
{<br />
&nbsp;&nbsp;&nbsp;echo $field;<br />
}
</code>


<h2>$this->db->field_exists()</h2>

<p>Sometimes it's helpful to know whether a particular field exists before performing an action.
Returns a boolean TRUE/FALSE.  Usage example:</p>

<code>
if ($this->db->field_exists('field_name', 'table_name'))<br />
{<br />
&nbsp;&nbsp; // some code...<br />
}
</code>

<p>Note:  Replace <em>field_name</em> with the name of the column you are looking for, and replace
<em>table_name</em> with the name of the table you are looking for.</p>


<h2>$this->db->field_data()</h2>
<p>Returns an array of objects containing field information.</p>
<p>Sometimes it's helpful to gather the field names or other metadata, like the column type, max length, etc.</p>


<p class="important">Note: Not all databases provide meta-data.</p>

<p>Usage example:</p>

<code>
$fields = $this->db->field_data('table_name');<br /><br />

foreach ($fields as $field)<br />
{<br />
&nbsp;&nbsp;&nbsp;echo $field->name;<br />
&nbsp;&nbsp;&nbsp;echo $field->type;<br />
&nbsp;&nbsp;&nbsp;echo $field->max_length;<br />
&nbsp;&nbsp;&nbsp;echo $field->primary_key;<br />
}
</code>

<p>If you have run a query already you can use the result object instead of supplying the table name:</p>

<code>
$query = $this->db->query("YOUR QUERY");<br />
$fields = $query->field_data();
</code>


<p>The following data is available from this function if supported by your database:</p>

<ul>
<li>name - column name</li>
<li>max_length - maximum length of the column</li>
<li>primary_key - 1 if the column is a primary key</li>
<li>type - the type of the column</li>
</ul>


</div>
<!-- END CONTENT -->


<div id="footer">
<p>
Previous Topic:&nbsp;&nbsp;<a href="table_data.html"> Table Data</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="call_function.html">Custom Function Calls</a>
</p>
<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>
</div>

</body>
</html>