mysql_fetch_arraySynopsis
Descriptionmysql_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: <pre> <?php // Contrived query $result = mysql_query ("SELECT now() as a_time, curtime() as a_time"); var_dump (mysql_fetch_array ($result)); ?> </pre> The output will look something like this: array(3) { [0]=> string(19) "2001-11-04 16:31:31" ["a_time"]=> string(8) "16:31:31" [1]=> 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. NoteMYSQL_ASSOC, MYSQL_NUM, and MYSQL_BOTH were added in version 3.0.7. Before this, both associative and numerically indexed array data was returned. NoteDespite 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. See also
ExampleExample 802. Demonstrate how mysql_fetch_array() retrieves data from a query handle <pre> <?php // 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 ('mysql_connect.inc.php'); // 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)); ?> </pre>
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
http://www.opencontent.org/openpub/).
The authors of this book have elected not to choose any options under the OPL. This online book was obtained
from http://www.fooassociates.com/phpfer/
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.
|