(PHP 3, PHP 4, PHP 5)
mysql_fetch_array --
Обрабатывает ряд результата запроса, возвращая ассоциативный массив,
численный массив или оба.
Описание
array
mysql_fetch_array ( resource result [, int result_type] )
Возвращает массив с обработанным рядом результата запроса, или FALSE,
если рядов больше нет.
mysql_fetch_array() расширенная версия функции
mysql_fetch_row(). В дополнении к хранению значений в
массиве с численными индексами, функция возвращает значения в массиве с
индексами по названию колонок.
Если несколько колонок в результате будут иметь одинаковые названия, последняя
колонка будет возвращена. Чтобы получить доступ к первым, используйте
численные индексы массива или алиасы в запросе. В случае алиасов
используйте именно их -- вы не сможете использовать настоящие имена
колонок, как например не сможете использовать
'field' в нижеописанном примере.
Пример 1. Запрос с дублирующимися именами колонок select table1.field as foo, table2.field as bar from table1, table2 |
|
Важно заметить, что
mysql_fetch_array() работает НЕ медленне, чем
mysql_fetch_row(), в то время, как предоставляет более
удобный доступ к данным.
Второй опциональный аргумент result_type в функции
mysql_fetch_array() -- константа и может принимать
следующие значения: MYSQL_ASSOC, MYSQL_NUM и
MYSQL_BOTH. Эта возможность добавлена в PHP 3.0.7. Значением по умолчанию
является: MYSQL_BOTH.
Используя MYSQL_BOTH, вы получите массив, состоящий как из ассоциативных
индексов, так и из численных. MYSQL_ASSOC вернёт только ассоциативные
соответствия (аналогично функции mysql_fetch_assoc() и MYSQL_NUM
только численные (аналогично функции
mysql_fetch_row()).
Замечание: Имена полей, возвращаемые этой
функцией, регистро-зависимы.
Пример 2. mysql_fetch_array() с MYSQL_NUM
<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error()); mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf ("ID: %s Name: %s", $row[0], $row[1]); }
mysql_free_result($result); ?>
|
|
Пример 3. mysql_fetch_array() с MYSQL_ASSOC
<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error()); mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { printf ("ID: %s Name: %s", $row["id"], $row["name"]); }
mysql_free_result($result); ?>
|
|
Пример 4. mysql_fetch_array() с MYSQL_BOTH
<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error()); mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { printf ("ID: %s Name: %s", $row[0], $row["name"]); }
mysql_free_result($result); ?>
|
|
См. также
mysql_fetch_row() и
mysql_fetch_assoc().