<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Returns an array of objects representing the fields in a result set</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="mysqli-result.fetch-field.html">mysqli_result::fetch_field</a></div> <div class="next" style="text-align: right; float: right;"><a href="mysqli-result.fetch-object.html">mysqli_result::fetch_object</a></div> <div class="up"><a href="class.mysqli-result.html">mysqli_result</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="mysqli-result.fetch-fields" class="refentry"> <div class="refnamediv"> <h1 class="refname">mysqli_result::fetch_fields</h1> <h1 class="refname">mysqli_fetch_fields</h1> <p class="verinfo">(PHP 5, PHP 7)</p><p class="refpurpose"><span class="refname">mysqli_result::fetch_fields</span> -- <span class="refname">mysqli_fetch_fields</span> — <span class="dc-title">Returns an array of objects representing the fields in a result set</span></p> </div> <div class="refsect1 description" id="refsect1-mysqli-result.fetch-fields-description"> <h3 class="title">Description</h3> <p class="para">Object oriented style</p> <div class="methodsynopsis dc-description"> <span class="type">array</span> <span class="methodname"><strong>mysqli_result::fetch_fields</strong></span> ( <span class="methodparam">void</span> )</div> <p class="para rdfs-comment">Procedural style</p> <div class="methodsynopsis dc-description"> <span class="type">array</span> <span class="methodname"><strong>mysqli_fetch_fields</strong></span> ( <span class="methodparam"><span class="type"><a href="class.mysqli-result.html" class="type mysqli_result">mysqli_result</a></span> <code class="parameter">$result</code></span> )</div> <p class="para rdfs-comment"> This function serves an identical purpose to the <span class="function"><a href="mysqli-result.fetch-field.html" class="function">mysqli_fetch_field()</a></span> function with the single difference that, instead of returning one object at a time for each field, the columns are returned as an array of objects. </p> </div> <div class="refsect1 parameters" id="refsect1-mysqli-result.fetch-fields-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <code class="parameter"> result</code></dt> <dd> <p class="para">Procedural style only: A result set identifier returned by <span class="function"><a href="mysqli.query.html" class="function">mysqli_query()</a></span>, <span class="function"><a href="mysqli.store-result.html" class="function">mysqli_store_result()</a></span> or <span class="function"><a href="mysqli.use-result.html" class="function">mysqli_use_result()</a></span>.</p></dd> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-mysqli-result.fetch-fields-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns an array of objects which contains field definition information or <strong><code>FALSE</code></strong> if no field information is available. </p> <p class="para"> <table class="doctable table"> <caption><strong>Object properties</strong></caption> <thead> <tr> <th>Property</th> <th>Description</th> </tr> </thead> <tbody class="tbody"> <tr> <td>name</td> <td>The name of the column</td> </tr> <tr> <td>orgname</td> <td>Original column name if an alias was specified</td> </tr> <tr> <td>table</td> <td>The name of the table this field belongs to (if not calculated)</td> </tr> <tr> <td>orgtable</td> <td>Original table name if an alias was specified</td> </tr> <tr> <td>max_length</td> <td>The maximum width of the field for the result set.</td> </tr> <tr> <td>length</td> <td> The width of the field, in bytes, as specified in the table definition. Note that this number (bytes) might differ from your table definition value (characters), depending on the character set you use. For example, the character set utf8 has 3 bytes per character, so varchar(10) will return a length of 30 for utf8 (10*3), but return 10 for latin1 (10*1). </td> </tr> <tr> <td>charsetnr</td> <td>The character set number (id) for the field.</td> </tr> <tr> <td>flags</td> <td>An integer representing the bit-flags for the field.</td> </tr> <tr> <td>type</td> <td>The data type used for this field</td> </tr> <tr> <td>decimals</td> <td>The number of decimals used (for integer fields)</td> </tr> </tbody> </table> </p> </div> <div class="refsect1 examples" id="refsect1-mysqli-result.fetch-fields-examples"> <h3 class="title">Examples</h3> <div class="example" id="example-1952"> <p><strong>Example #1 Object oriented style</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />$mysqli </span><span style="color: #007700">= new </span><span style="color: #0000BB">mysqli</span><span style="color: #007700">(</span><span style="color: #DD0000">"127.0.0.1"</span><span style="color: #007700">, </span><span style="color: #DD0000">"root"</span><span style="color: #007700">, </span><span style="color: #DD0000">"foofoo"</span><span style="color: #007700">, </span><span style="color: #DD0000">"sakila"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* check connection */<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-></span><span style="color: #0000BB">connect_errno</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Connect failed: %s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-></span><span style="color: #0000BB">connect_error</span><span style="color: #007700">);<br /> exit();<br />}<br /><br />foreach (array(</span><span style="color: #DD0000">'latin1'</span><span style="color: #007700">, </span><span style="color: #DD0000">'utf8'</span><span style="color: #007700">) as </span><span style="color: #0000BB">$charset</span><span style="color: #007700">) {<br /><br /> </span><span style="color: #FF8000">// Set character set, to show its impact on some values (e.g., length in bytes)<br /> </span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-></span><span style="color: #0000BB">set_charset</span><span style="color: #007700">(</span><span style="color: #0000BB">$charset</span><span style="color: #007700">);<br /><br /> </span><span style="color: #0000BB">$query </span><span style="color: #007700">= </span><span style="color: #DD0000">"SELECT actor_id, last_name from actor ORDER BY actor_id"</span><span style="color: #007700">;<br /><br /> echo </span><span style="color: #DD0000">"======================\n"</span><span style="color: #007700">;<br /> echo </span><span style="color: #DD0000">"Character Set: </span><span style="color: #0000BB">$charset</span><span style="color: #DD0000">\n"</span><span style="color: #007700">;<br /> echo </span><span style="color: #DD0000">"======================\n"</span><span style="color: #007700">;<br /> <br /> if (</span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">)) {<br /><br /> </span><span style="color: #FF8000">/* Get field information for all columns */<br /> </span><span style="color: #0000BB">$finfo </span><span style="color: #007700">= </span><span style="color: #0000BB">$result</span><span style="color: #007700">-></span><span style="color: #0000BB">fetch_fields</span><span style="color: #007700">();<br /><br /> foreach (</span><span style="color: #0000BB">$finfo </span><span style="color: #007700">as </span><span style="color: #0000BB">$val</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Name: %s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">name</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Table: %s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">table</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Max. Len: %d\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">max_length</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Length: %d\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">length</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"charsetnr: %d\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">charsetnr</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Flags: %d\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">flags</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Type: %d\n\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">type</span><span style="color: #007700">);<br /> }<br /> </span><span style="color: #0000BB">$result</span><span style="color: #007700">-></span><span style="color: #0000BB">free</span><span style="color: #007700">();<br /> }<br />}<br /></span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-></span><span style="color: #0000BB">close</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> <div class="example" id="example-1953"> <p><strong>Example #2 Procedural style</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />$link </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"127.0.0.1"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_password"</span><span style="color: #007700">, </span><span style="color: #DD0000">"sakila"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* check connection */<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">mysqli_connect_errno</span><span style="color: #007700">()) {<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Connect failed: %s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">mysqli_connect_error</span><span style="color: #007700">());<br /> exit();<br />}<br /><br />foreach (array(</span><span style="color: #DD0000">'latin1'</span><span style="color: #007700">, </span><span style="color: #DD0000">'utf8'</span><span style="color: #007700">) as </span><span style="color: #0000BB">$charset</span><span style="color: #007700">) {<br /><br /> </span><span style="color: #FF8000">// Set character set, to show its impact on some values (e.g., length in bytes)<br /> </span><span style="color: #0000BB">mysqli_set_charset</span><span style="color: #007700">(</span><span style="color: #0000BB">$link</span><span style="color: #007700">, </span><span style="color: #0000BB">$charset</span><span style="color: #007700">);<br /><br /> </span><span style="color: #0000BB">$query </span><span style="color: #007700">= </span><span style="color: #DD0000">"SELECT actor_id, last_name from actor ORDER BY actor_id"</span><span style="color: #007700">;<br /><br /> echo </span><span style="color: #DD0000">"======================\n"</span><span style="color: #007700">;<br /> echo </span><span style="color: #DD0000">"Character Set: </span><span style="color: #0000BB">$charset</span><span style="color: #DD0000">\n"</span><span style="color: #007700">;<br /> echo </span><span style="color: #DD0000">"======================\n"</span><span style="color: #007700">;<br /><br /> if (</span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$link</span><span style="color: #007700">, </span><span style="color: #0000BB">$query</span><span style="color: #007700">)) {<br /><br /> </span><span style="color: #FF8000">/* Get field information for all columns */<br /> </span><span style="color: #0000BB">$finfo </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_fetch_fields</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /><br /> foreach (</span><span style="color: #0000BB">$finfo </span><span style="color: #007700">as </span><span style="color: #0000BB">$val</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Name: %s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">name</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Table: %s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">table</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Max. Len: %d\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">max_length</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Length: %d\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">length</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"charsetnr: %d\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">charsetnr</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Flags: %d\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">flags</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Type: %d\n\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$val</span><span style="color: #007700">-></span><span style="color: #0000BB">type</span><span style="color: #007700">);<br /> }<br /> </span><span style="color: #0000BB">mysqli_free_result</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /> }<br />}<br /><br /></span><span style="color: #0000BB">mysqli_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$link</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above examples will output:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> ====================== Character Set: latin1 ====================== Name: actor_id Table: actor Max. Len: 3 Length: 5 charsetnr: 63 Flags: 49699 Type: 2 Name: last_name Table: actor Max. Len: 12 Length: 45 charsetnr: 8 Flags: 20489 Type: 253 ====================== Character Set: utf8 ====================== Name: actor_id Table: actor Max. Len: 3 Length: 5 charsetnr: 63 Flags: 49699 Type: 2 Name: last_name Table: actor Max. Len: 12 Length: 135 charsetnr: 33 Flags: 20489 </pre></div> </div> </div> </div> <div class="refsect1 seealso" id="refsect1-mysqli-result.fetch-fields-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member"><span class="function"><a href="mysqli-result.field-count.html" class="function" rel="rdfs-seeAlso">mysqli_num_fields()</a> - Get the number of fields in a result</span></li> <li class="member"><span class="function"><a href="mysqli-result.fetch-field-direct.html" class="function" rel="rdfs-seeAlso">mysqli_fetch_field_direct()</a> - Fetch meta-data for a single field</span></li> <li class="member"><span class="function"><a href="mysqli-result.fetch-field.html" class="function" rel="rdfs-seeAlso">mysqli_fetch_field()</a> - Returns the next field in the result set</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="mysqli-result.fetch-field.html">mysqli_result::fetch_field</a></div> <div class="next" style="text-align: right; float: right;"><a href="mysqli-result.fetch-object.html">mysqli_result::fetch_object</a></div> <div class="up"><a href="class.mysqli-result.html">mysqli_result</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>