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
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Code Igniter 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="../../scripts/nav.js"></script>
<script type="text/javascript" src="../../scripts/prototype.lite.js"></script>
<script type="text/javascript" src="../../scripts/moo.fx.js"></script>
<script type="text/javascript">
window.onload = function() {
myHeight = new fx.Height('nav', {duration: 400});
myHeight.hide();
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='Rick Ellis' />
<meta name='description' content='Code Igniter 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.jpg" width="153" height="44" 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>Code Igniter User Guide Version 1.4.1</h1></td>
<td id="breadcrumb_right"><a href="../../toc.html">Full Table of Contents</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://www.codeigniter.com/">Code Igniter Home</a> ›
<a href="../../index.html">User Guide Home</a> ›
<a href="index.html">Database Library</a> ›
Query Helpers
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com/user_guide/" />Search User Guide <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" /> <input type="submit" class="submit" name="sa" value="Go" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->
<br clear="all" />
<!-- START CONTENT -->
<div id="content">
<h1>Query Helper Functions</h1>
<h2>$query->num_rows()</h2>
<p>The number of rows returned by the query. Note: In this example, <dfn>$query</dfn> is the variable that the query result object is assigned to:</p>
<code>$query = $this->db->query('SELECT * FROM my_table');<br /><br />
echo $query->num_rows();
</code>
<h2>$query->num_fields()</h2>
<p>The number of FIELDS returned by the query. Make sure to call the function using your query result object:</p>
<code>$query = $this->db->query('SELECT * FROM my_table');<br /><br />
echo $query->num_fields();
</code>
<h2>$this->db->insert_id()</h2>
<p>The insert ID number when performing database inserts.</p>
<h2>$this->db->affected_rows()</h2>
<p>Displays the number of affected rows, when doing "write" type queries (insert, update, etc.).</p>
</p>Note: In MySQL "DELETE FROM TABLE" returns 0 affected rows. The database class has a small hack that allows it to return the
correct number of affected rows. By default this hack is enabled but it can be turned off in the database driver file.</p>
<h2>$this->db->version()</h2>
<p>Outputs the database version you are running:</p>
<code>echo $this->db->version();</code>
<h2>$this->db->last_query();</h2>
<p>Returns the last query that was run (the query string, not the result). Example:</p>
<code>$str = $this->db->last_query();<br />
<br />
// Produces: SELECT * FROM sometable....
</code>
<p>The following two functions help simplify the process of writing database INSERTs and UPDATEs.</p>
<h2>$this->db->insert_string(); </h2>
<p>This function simplifies the process of writing database inserts. It returns a correctly formatted SQL insert string. Example:</p>
<code>$data = array('name' => $name, 'email' => $email, 'url' => $url);<br />
<br />
$str = $this->db->insert_string('table_name', $data);
</code>
<p>The first parameter is the table name, the second is an associative array with the data to be inserted. The above example produces:</p>
<code>INSERT INTO table_name (name, email, url) VALUES ('Rick', 'rick@your-site.com', 'www.your-site.com')</code>
<h2>$this->db->update_string(); </h2>
<p>This function simplifies the process of writing database updates. It returns a correctly formatted SQL update string. Example:</p>
<code>$data = array('name' => $name, 'email' => $email, 'url' => $url);<br />
<br />
$where = "author_id = 1 AND status = 'active'";
<br /><br />
$str = $this->db->update_string('table_name', $data, $where);
</code>
<p>The first parameter is the table name, the second is an associative array with the data to be inserted, and the third parameter is the "where" clause. The above example produces:</p>
<code> UPDATE exp_weblog SET name = 'Rick', email = 'rick@your-site.com', url = 'www.your-site.com' WHERE author_id = 1 AND status = 'active'</code>
</div>
<!-- END CONTENT -->
<div id="footer">
<p>
Previous Topic: <a href="results.html">Query Results</a>
·
<a href="#top">Top of Page</a> ·
<a href="../../index.html">User Guide Home</a> ·
Next Topic: <a href="active_record.html">Active Record Pattern</a>
<p>
<p><a href="http://www.codeigniter.com">Code Igniter</a> · Copyright © 2006 · <a href="http://www.pmachine.com">pMachine, Inc.</a></p>
</div>
</body>
</html>
|