What is PhpDig?
PhpDig is a PHP MySQL based
Web Spider & Search Engine.



mysql_fetch_array — Fetches a row of data as an array from a MySQL result handle.


array mysql_fetch_array(result_handle[, result_type]);
mysql result result_handle: Result handle returned by mysql_db_query() or mysql_query()
int result_type (optional): Integer flag indicating the type of array to return


Array containing one row of query data; FALSE when out of array data or on error


mysql_fetch_array() retrieves a row of data from a result handle returned by mysql_db_query() or mysql_query() . Depending on the value of the result_type argument, the row is returned as an associative array, a numerically indexed array, or both (the default). result_type can be set to one of the following constants: MYSQL_ASSOC, MYSQL_NUM, or MYSQL_BOTH. After the data is retrieved, the result handle's internal pointer is advanced one position. Each subsequent call to mysql_fetch_array() returns the next row in the result set. If there are no more results to return, the function returns FALSE.

If associative array data is returned, the column names are used as the keys for the array. If column names are duplicated, the data in the last column in the query sharing the name overwrites the other values. To access data from these types of queries, either use a numerically indexed array or alias the column names in your query. For example:

// Contrived query
$result = mysql_query ("SELECT now() as a_time, curtime() as a_time");
var_dump (mysql_fetch_array ($result));

The output will look something like this:
array(3) {
  string(19) "2001-11-04 16:31:31"
  string(8) "16:31:31"
  string(8) "16:31:31"

Notice that only one element with a key value of a_time is returned, and that its value is the value of the last field named a_time.

If both types are returned, the order of the keys will be numeric index, column_name, numeric index, column_name, etc.


MYSQL_ASSOC, MYSQL_NUM, and MYSQL_BOTH were added in version 3.0.7. Before this, both associative and numerically indexed array data was returned.


Despite the added functionality, mysql_fetch_array() is not significantly slower than mysql_fetch_row() ; in fact, mysql_fetch_array() , mysql_fetch_assoc() , mysql_fetch_object() , and mysql_fetch_row() all share a common underlying function in the PHP source code.


PHP 3+, PHP 4+

See also

To find the number of rows affected by a query:


To fetch a row of data from a query handle:




To fetch a single field of data from a query handle:



Example 802. Demonstrate how mysql_fetch_array() retrieves data from a query handle

// Included code that connects to a MySQL server and sets a default database
// See the MySQL Functions chapter introduction for the source code for the file
include ('');

// Make a simple SELECT query
$query = "SELECT * FROM user ORDER BY login";
$mysql_result = @ mysql_query ($query)
    or die ("Query '$query' failed with error message: \"" . mysql_error () . '"');

// Show the default behavior of mysql_fetch_array()
// Grab one row from our result handle
$row = @ mysql_fetch_array ($mysql_result)
    or die ("Try a different query - this one did not return any rows.");

// Display the contents of the array stored in row
echo "The default behavior of mysql_fetch_array ():\n";
print_r ($row);

// Rewind the pointer on the result handle
mysql_data_seek ($mysql_result, 0);

// Now grab the same row as a numerically indexed array
echo "\n\n...with the MYSQL_NUM flag set:\n";
print_r (mysql_fetch_array ($mysql_result, MYSQL_NUM));

// Back up again and show the same row as an associatively indexed array
mysql_data_seek ($mysql_result, 0);
echo "\n\n...with the MYSQL_ASSOC flag set:\n";
print_r (mysql_fetch_array ($mysql_result, MYSQL_ASSOC));

PHP Functions Essential Reference. Copyright © 2002 by New Riders Publishing (Authors: Zak Greant, Graeme Merrall, Torben Wilson, Brett Michlitsch). This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at The authors of this book have elected not to choose any options under the OPL. This online book was obtained from and is designed to provide information about the PHP programming language, focusing on PHP version 4.0.4 for the most part. The information is provided on an as-is basis, and no warranty or fitness is implied. All persons and entities shall have neither liability nor responsibility to any person or entity with respect to any loss or damage arising from the information contained in this book.

Powered by: vBulletin Version 3.0.7
Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Copyright © 2001 - 2005, ThinkDing LLC. All Rights Reserved.