<!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>Generating Query Results : 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.0.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;
Query Results
</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>Generating Query Results</h1>


<p>There are several ways to generate query results:</p>

	<h2>result()</h2>

	<p>This function returns the query result as an array of <strong>objects</strong>, or <strong>an empty array</strong> on failure.

	Typically you'll use this in a foreach loop, like this:</p>

	<code>
	$query = $this->db->query("YOUR QUERY");<br />
	<br />
	foreach ($query->result() as $row)<br />
	{<br />
	&nbsp;&nbsp;&nbsp;echo $row->title;<br />
	&nbsp;&nbsp;&nbsp;echo $row->name;<br />
	&nbsp;&nbsp;&nbsp;echo $row->body;<br />
	}</code>

	<p>The above <dfn>function</dfn> is an alias of <dfn>result_object()</dfn>.</p>

	<p>If you run queries that might <strong>not</strong> produce a result, you are encouraged to test the result first:</p>

	<code>
	$query = $this->db->query("YOUR QUERY");<br />
	<br />
	if ($query->num_rows() > 0)<br />
	{<br />
	&nbsp;&nbsp;&nbsp;foreach ($query->result() as $row)<br />
	&nbsp;&nbsp;&nbsp;{<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $row->title;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $row->name;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $row->body;<br />
	&nbsp;&nbsp;&nbsp;}<br />
	}
	</code>

	<p>You can also pass a string to result() which represents a class to instantiate for each result object (note: this class must be loaded)</p>

	<code>
	$query = $this->db->query("SELECT * FROM users;");<br />
	<br />
	foreach ($query->result('User') as $user)<br />
	{<br />
	&nbsp;&nbsp;&nbsp;echo $row->name; // call attributes<br />
	&nbsp;&nbsp;&nbsp;echo $row->reverse_name(); // or methods defined on the 'User' class<br />
	}
	</code>

	<h2>result_array()</h2>

	<p>This function returns the query result as a pure array, or an empty array when no result is produced.  Typically you'll use this in a foreach loop, like this:</p>
	<code>
	$query = $this->db->query("YOUR QUERY");<br />
	<br />
	foreach ($query->result_array() as $row)<br />
	{<br />
	&nbsp;&nbsp;&nbsp;echo $row['title'];<br />
	&nbsp;&nbsp;&nbsp;echo $row['name'];<br />
	&nbsp;&nbsp;&nbsp;echo $row['body'];<br />
	}</code>


	<h2>row()</h2>

	<p>This function returns a single result row.  If your query has more than one row, it returns only the first row.
	The result is returned as an <strong>object</strong>.  Here's a usage example:</p>
	<code>
	$query = $this->db->query("YOUR QUERY");<br />
	<br />
	if ($query->num_rows() > 0)<br />
	{<br />
	&nbsp;&nbsp;&nbsp;$row = $query->row();
	<br /><br />
	&nbsp;&nbsp;&nbsp;echo $row->title;<br />
	&nbsp;&nbsp;&nbsp;echo $row->name;<br />
	&nbsp;&nbsp;&nbsp;echo $row->body;<br />
	}
	</code>

	<p>If you want a specific row returned you can submit the row number as a digit in the first parameter:</p>

	<code>$row = $query->row(<dfn>5</dfn>);</code>

	<p>You can also add a second String parameter, which is the name of a class to instantiate the row with:</p>

	<code>
	$query = $this->db->query("SELECT * FROM users LIMIT 1;");<br />
	<br />
	$query->row(0, 'User')<br />
	echo $row->name; // call attributes<br />
	echo $row->reverse_name(); // or methods defined on the 'User' class<br />
	</code>

	<h2>row_array()</h2>

	<p>Identical to the above <var>row()</var> function, except it returns an array.  Example:</p>

	<code>
	$query = $this->db->query("YOUR QUERY");<br />
	<br />
	if ($query->num_rows() > 0)<br />
	{<br />
	&nbsp;&nbsp;&nbsp;$row = $query->row_array();
	<br /><br />
	&nbsp;&nbsp;&nbsp;echo $row['title'];<br />
	&nbsp;&nbsp;&nbsp;echo $row['name'];<br />
	&nbsp;&nbsp;&nbsp;echo $row['body'];<br />
	}
	</code>


	<p>If you want a specific row returned you can submit the row number as a digit in the first parameter:</p>

	<code>$row = $query->row_array(<dfn>5</dfn>);</code>


	<p>In addition, you can walk forward/backwards/first/last through your results using these variations:</p>

<p>
	<strong>$row = $query->first_row()</strong><br />
	<strong>$row = $query->last_row()</strong><br />
	<strong>$row = $query->next_row()</strong><br />
	<strong>$row = $query->previous_row()</strong>
</p>

<p>By default they return an object unless you put the word "array" in the parameter:</p>

<p>
	<strong>$row = $query->first_row('array')</strong><br />
	<strong>$row = $query->last_row('array')</strong><br />
	<strong>$row = $query->next_row('array')</strong><br />
	<strong>$row = $query->previous_row('array')</strong>
</p>



<h1>Result 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 (columns) 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>$query->free_result()</h2>
<p>It frees the memory associated with the result and deletes the result resource ID.  Normally PHP frees its memory automatically at the end of script
execution.  However, if you are running a lot of queries in a particular script you might want to free the result after each query result has been
generated in order to cut down on memory consumptions.  Example:
</p>

<code>$query = $this->db->query('SELECT title FROM my_table');<br /><br />
foreach ($query->result() as $row)<br />
{<br />
&nbsp;&nbsp;&nbsp;echo $row->title;<br />
}<br />
$query->free_result();  // The $query result object will no longer be available<br />
<br />
$query2 = $this->db->query('SELECT name FROM some_table');<br /><br />
$row = $query2->row();<br />
echo $row->name;<br />
$query2->free_result();  // The $query2 result object will no longer be available
</code>





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


<div id="footer">
<p>
Previous Topic:&nbsp;&nbsp;<a href="queries.html">Queries</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="helpers.html">Query Helper Functions</a>
</p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>

</body>
</html>
