Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : MySQL Functions : mysql_fetch_row

mysql_fetch_row

Get a result row as an enumerated array (PHP 4, PHP 5, PECL mysql:1.0)
array mysql_fetch_row ( resource result )

Returns a numerical array that corresponds to the fetched row and moves the internal data pointer ahead.

Parameters

result

The result resource that is being evaluated. This result comes from a call to mysql_query().

Return Values

Returns an numerical array of strings that corresponds to the fetched row, or FALSE if there are no more rows.

mysql_fetch_row() fetches one row of data from the result associated with the specified result identifier. The row is returned as an array. Each result column is stored in an array offset, starting at offset 0.

Examples

Example 1435. Fetching one row with mysql_fetch_row()

<?php
$result
= mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!
$result) {
   echo
'Could not run query: ' . mysql_error();
   exit;
}
$row = mysql_fetch_row($result);

echo
$row[0]; // 42
echo $row[1]; // the email value
?>


Notes

Note:

This function sets NULL fields to PHP NULL value.

Related Examples ( Source code ) » mysql_fetch_row














Code Examples / Notes » mysql_fetch_row

php dot net

You could also use this language construct with mysql_fetch_row:
while (list($first, $second) = mysql_fetch_row($resource)) {
[...]
}


doug

you can also use mysql_fetch_row() like this if you want to display inumerable results the same way:
#connect to the server and select db
mysql_connect("host","username","pass");
mysql_select_db("dbname");
#query the db
$query = "SELECT * FROM table";
$result = mysql_query($query)
or die(mysql_error());
#display results
while($i = mysql_fetch_row($result)) {
echo $i[0];
echo $i[1];
.....
}
and so forth...


michael and then an

to print an array, simply use print_r(array name)
like this:
   $myrow = mysql_fetch_row($result);
echo "<pre>";
print_r($myrow);
echo "</pre>";
this will output the array in a readable form, with the index, too. Don't forget the 'pre' tags or the output will be on a single line.


m dot s

The following function to read all data out of a mysql-resultset, is may be faster than Rafaels solution:
<?
function mysql_fetch_all($result) {
  while($row=mysql_fetch_array($result)) {
      $return[] = $row;
  }
  return $return;
}
?>


a

Maybe worth pointing out that all the fields returned by this (and other?) calls are returned with type string. This had me puzzled for quite some time.

mysql

It is probably worth pointing out that the array elements will actually be of type string, OR NULL if the field is null in the database.
Thus, either use a double equal comparison to look for empty or null
Or, use a triple equal comparison to be able to distinguish the two cases
e.g.
if ($field === '') echo "Empty, not NULL\n";
if ($field === NULL) echo "NULL\n";
if ($field == '') echo "Empty or NULL\n";


Change Language


Follow Navioo On Twitter
mysql_affected_rows
mysql_change_user
mysql_client_encoding
mysql_close
mysql_connect
mysql_create_db
mysql_data_seek
mysql_db_name
mysql_db_query
mysql_drop_db
mysql_errno
mysql_error
mysql_escape_string
mysql_fetch_array
mysql_fetch_assoc
mysql_fetch_field
mysql_fetch_lengths
mysql_fetch_object
mysql_fetch_row
mysql_field_flags
mysql_field_len
mysql_field_name
mysql_field_seek
mysql_field_table
mysql_field_type
mysql_free_result
mysql_get_client_info
mysql_get_host_info
mysql_get_proto_info
mysql_get_server_info
mysql_info
mysql_insert_id
mysql_list_dbs
mysql_list_fields
mysql_list_processes
mysql_list_tables
mysql_num_fields
mysql_num_rows
mysql_pconnect
mysql_ping
mysql_query
mysql_real_escape_string
mysql_result
mysql_select_db
mysql_set_charset
mysql_stat
mysql_tablename
mysql_thread_id
mysql_unbuffered_query
eXTReMe Tracker