Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: mysql_fetch_array
 
 автор: t4f   (04.06.2007 в 16:13)   письмо автору
 
 

Хм, никогда не замечал, что если использовать эту функцию без флагов (кстати, где-то вычитал, что по умолчанию стоит флаг MYSQL_BOTH), то будет возвращен массив с двойными данными, т.е. как MYSQL_NUM вместе с MYSQL_ASSOC. Раньше подобного не замечал. Интересно, подобное положение дел было всегда или недавно появилось?

   
 
 автор: mel_sasha   (04.06.2007 в 22:25)   письмо автору
 
   для: t4f   (04.06.2007 в 16:13)
 

mysql_fetch_array

(PHP 3, PHP 4)

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_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_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_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);
?>

   
 
 автор: t4f   (05.06.2007 в 10:08)   письмо автору
 
   для: mel_sasha   (04.06.2007 в 22:25)
 

Спасибо, понятно.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования