mysql_fetch_array - Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба
Вернуться к: MySQL
mysql_fetch_array
(PHP 4, PHP 5)
mysql_fetch_array — Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба
Описание
Возвращает массив, соответствующий обработанному ряду результата запроса и сдвигает внутренний указатель данных вперед.
Список параметров
- result
-
Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().
- result_type
-
Тип возвращаемого массива. Является константой и может принимать следующие значения: MYSQL_ASSOC, MYSQL_NUM и MYSQL_BOTH.
Возвращаемые значения
Возвращает массив строк, соответствующих обработанному ряду результата запроса, или FALSE, если рядов больше нет. Тип возвращаемого массива зависит от значения параметра result_type. При использовании MYSQL_BOTH (по умолчанию), вы получите массив, состоящий как из ассоциативных индексов, так и из численных. MYSQL_ASSOC вернёт только ассоциативные индексы (аналогично функции mysql_fetch_assoc()), а MYSQL_NUM - только численные (аналогично функции mysql_fetch_row()).
Если несколько колонок в результате будут иметь одинаковые названия, то будет возвращена последняя колонка. Чтобы получить доступ к другим колонкам с тем же именем, используйте численные индексы массива или псевдонимы в запросе. В случае псевдонимов используйте именно их - вы не сможете использовать настоящие имена колонок.
Примеры
Пример #1 Запрос с применением псевдонимов для дублирующихся имен колонок
SELECT table1.field AS foo, table2.field AS bar FROM table1, table2
Пример #2 mysql_fetch_array() с MYSQL_NUM
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Ошибка соединения: " . 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 Имя: %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("Ошибка соединения: " . 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 Имя: %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("Ошибка соединения: " . 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 Имя: %s", $row[0], $row["name"]);
}
mysql_free_result($result);
?>
Примечания
Замечание: Производительность
Важно заметить, что mysql_fetch_array() работает незначительно медленнее, чем mysql_fetch_row(), в то же время предоставляя намного более удобный доступ к данным.
Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.
Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.
Смотрите также
- mysql_fetch_row() - Обрабатывает ряд результата запроса и возвращает массив с числовыми индексами
- mysql_fetch_assoc() - Возвращает ряд результата запроса в качестве ассоциативного массива
- mysql_data_seek() - Перемещает внутренний указатель в результате запроса
- mysql_query() - Посылает запрос MySQL
Вернуться к: MySQL