asdasd asdasdas asdlskmd lasid a osiajd as soidjasodija saoidjsdoiaj asdioajsd asdoijasd asoidj aosidja osidj oasij dasoji doasij dosaijdo isahdiashdasuhdi ashu diu shaiu dhasiuh ad.
mysql_num_fields
(PHP 4, PHP 5, PECL mysql:1.0)
mysql_num_fields — Get number of fields in result
Description
int mysql_num_fields
( resource $result
)
Retrieves the number of fields from a query.
Parameters
- result
-
The result resource that is being evaluated. This result comes from a call to mysql_query().
Return Values
Returns the number of fields in the result set resource on success, or FALSE on failure.
Examples
Example #1 A mysql_num_fields() example
<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
/* returns 2 because id,email === two fields */
echo mysql_num_fields($result);
?>
Notes
Note: For backward compatibility, the following deprecated alias may be used: mysql_numfields()
mysql_num_fields
Anonymous
13-Aug-2008 02:50
13-Aug-2008 02:50
php at jezusisheer dot nl
30-Mar-2007 03:10
30-Mar-2007 03:10
Note that, if you want to get the amount of columns of a table and you're using the "SHOW COLUMNS FROM $table" query, you will have to use mysql_num_rows() instead of mysql_num_fields() on the result. This becomes logical when thinking about it, because the SHOW COLUMNS query returns a result with six columns (Field, Type, Null, Key, Default and Extra) and with a single row for every column found. If you'd count the number of fields, you'd always get 6. If you count the number of rows, you'll get the amount of columns found.
tharkey at tharkey dot net
20-Jun-2003 02:26
20-Jun-2003 02:26
You can use it without a requete, just to list the fields :
$liste_champs = mysql_list_fields ( $Base, $Table, $connexion);
for ($i=0; $i < mysql_num_fields ($l_champs); $i++) {
echo ( mysql_field_name ($l_champs, $i) );
echo (' / ');
}
apass AT passmoore DOT com
02-Oct-2002 06:52
02-Oct-2002 06:52
Adding to the last comment: you can dynamically loop through any number of columns AND rows like so-
$query="your SQL";
$result=mysql_query($query) or die("Query ($query) sucks!");
$fields=mysql_num_fields($result);
echo "<table>\n<tr>";
for ($i=0; $i < mysql_num_fields($result); $i++) //Table Header
{ print "<th>".mysql_field_name($result, $i)."</th>"; }
echo "</tr>\n";
while ($row = mysql_fetch_row($result)) { //Table body
echo "<tr>";
for ($f=0; $f < $fields; $f++) {
echo "<td>$row[$f]</td>"; }
echo "</tr>\n";}
echo "</table><p>";
This has been tested.
matt at iwdt dot net
24-Sep-2001 09:09
24-Sep-2001 09:09
here's one way to print out a row of <th> tags from a table
NOTE: i didn't test this
$result = mysql_query("select * from table");
for ($i = 0; $i < mysql_num_fields($result); $i++) {
print "<th>".mysql_field_name($result, $i)."</th>\n";
}
post a comment if there's an error
bwark at stanford dot edu
24-Dec-2000 06:56
24-Dec-2000 06:56
If you just want the number of fields in a table, you can do something like this:
<?php
$db_id = mysql_connet();
$result = mysql_query("DESCRIBE [tableName], $db_id);
$numFields = mysql_num_rows($result);
?>
Because "DESCRIBE" returns one row for each field in the table (at least in MySQL), this will work.
