[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отличие mysql_fetch_assoc от mysql_result
Golovastik
Скажите что лучше использовать для получения результата запроса функцию mysql_fetch_assoc или mysql_result.
Зачем нужен 2-ой параметр для mysql_result.?



Спустя 9 минут, 54 секунды (21.09.2010 - 23:16) vasa_c написал(а):
На вопросы типа "зачем нужен такой-то параметр такой-то функции" лучше и быстрее всего отвечает документация.

Спустя 5 минут, 24 секунды (21.09.2010 - 23:22) Golovastik написал(а):
Да вот прочитал, только про второй параметр как-то умалчивают в функции mysql_result.? я ставлю запятую и ноль, только не понятно зачем вторым параметром ноль писать.

Спустя 1 минута, 18 секунд (21.09.2010 - 23:23) vasa_c написал(а):
http://ru2.php.net/mysql_result никто ничего не умалчивает

Спустя 1 час, 4 минуты, 20 секунд (22.09.2010 - 00:27) Golovastik написал(а):
Скажите а слово если переменная не определена в функции empty, это значит не объявлена ранее?

Спустя 1 час, 16 секунд (22.09.2010 - 01:28) Golovastik написал(а):
Просто здесь используют и то и другое поэтому спросил.
http://www.softtime.ru/article/index.php?id_article=33
Там вначале сделали запрос который получает кол-во записей в таблице.
И передали в качестве аргумента это кол-во функции mysql_result но не
mysql_fetch_assoc,поэтому спрашиваю в чём их различие.

Спустя 52 минуты, 8 секунд (22.09.2010 - 02:20) Ice написал(а):
Цитата (Golovastik @ 22.09.2010 - 00:22)
только не понятно зачем вторым параметром ноль писать

Второй параметр - порядковый номер поля при единичной выборке результата запроса. Можно написать и 1, и 2, и 10, и 20, в зависимости от того какое поле надо выводить, то есть, если мы знаем, что запрос вернет 1 строку и 1 поле, то пишем первое поле - 0. А если мы знаем, что запрос вернет одну строку, но N полей (причем N>1), то мы указываем N-1-номер поля, значение которого хотим вывести (потому что нумерация идет с нуля). Вот и всё.

Спустя 3 часа, 49 минут, 59 секунд (22.09.2010 - 06:10) twin написал(а):
mysql_result удобно использовать только тогда, когда нужно получить единичный результат запроса. Если данные множественные, то естественно нужно получать их массивом.

Спустя 9 часов, 1 минута, 41 секунда (22.09.2010 - 15:11) Golovastik написал(а):
Если я хочу получить функцией mysql_result например 4 поле первой строки.
Я написал так $res = mysql_result($result,3); и выдаёт ошибку:

Warning: mysql_result(): Unable to jump to row 3 on MySQL result index 4 in z:\home\sitik.ru\www\blocks\view_cat.php on line 10

А если написать так:
$res = mysql_result($result,0);
ошибки не будет.Почему?

Спустя 15 минут, 13 секунд (22.09.2010 - 15:27) twin написал(а):
Поле тоже надо указывать. Не проще почитать описание функции?

Спустя 6 минут, 18 секунд (22.09.2010 - 15:33) Golovastik написал(а):
Вот указал имя поля,ошибкой ругается.

$posts = mysql_result($result,3,meta_d);

0,1,2,3 в 3 поле у меня под названием meta_d -


Notice: Use of undefined constant meta_d - assumed 'meta_d' in z:\home\sitik.ru\www\blocks\view_cat.php on line 10
[Денвер: показать возможную причину ошибки]
Warning: mysql_result(): Unable to jump to row 3 on MySQL result index 4 in z:\home\sitik.ru\www\blocks\view_cat.php on line 10

Спустя 8 минут, 47 секунд (22.09.2010 - 15:42) twin написал(а):
Все таки Попов жестко забивает головы... Читать надо. Читать.
В мануале все написано. Или тут, если с английским туго.

Спустя 3 минуты, 39 секунд (22.09.2010 - 15:45) Golovastik написал(а):
Я эту ссылку читал.
Там написано: echo mysql_result($result,2); // outputs third employee's name
Если я так же само напишу у меня не будет работать,поэтому спрашиваю, я уже пробовал
$res = mysql_result($result,2);

Спустя 15 минут, 1 секунда (22.09.2010 - 16:00) twin написал(а):
Цитата
mixed mysql_result ( resource result, int row [, mixed field] )

обязательные параметры - указатель на ресурс и номер ряда запроса.
Необязательный - название поля. Если третий параметр не указан, поле в запросе должно быть одно.
Более чем уверен, что у тебя там всякие meta_d, meta_k и прочая ересь. Если их там много - не надо юзать эту функцию. Сказали же уже.
Или указывай поле (в кавычках), или сделай его единственным.

Может у тебя в ответе не три ряда?

Спустя 3 часа, 41 минута, 29 секунд (22.09.2010 - 19:42) Golovastik написал(а):
Как написать правильно чтоб вытянуть с помощью функции mysql_result в первой строке слово privet
user posted image

Спустя 1 час, 31 минута, 46 секунд (22.09.2010 - 21:14) twin написал(а):

$posts = mysql_result($result, 0, 'meta_d');

Спустя 18 минут (22.09.2010 - 21:32) Golovastik написал(а):
вот видите, вы написали
$posts = mysql_result($result, 0, 'meta_d');

2-ой параметр ноль, почему не 2 не 3 и не больше, а именно ноль.?

Спустя 16 минут, 4 секунды (22.09.2010 - 21:48) twin написал(а):
потому что первая строка. отсчет с нуля, как в любом массиве.

Спустя 3 часа, 1 минута, 16 секунд (23.09.2010 - 00:49) Golovastik написал(а):
То есть второй параметр это откуда начинается поиск ячейки а 3 на какой заканчивается и тот на которой заканчивается то и возвращает $mysql_result?

Спустя 18 часов, 21 минута, 10 секунд (23.09.2010 - 19:10) Nord написал(а):
Да вас вроде еще на первой странице послали читать мануал
Там все четко написано:
Цитата

string mysql_result ( resource $result , int $row [, mixed $field = 0 ] )

Параметры:
result
Ресурс, полученный от mysql_query(), из которого нужно взять данные

row
Номер нужной строки результата (считая от нуля)

field
Имя или номер поля, которое нужно получить
Параметром может быть смещение поля, имя поля, или же имя поля с названием таблицы через точку(tablename.fieldname). Если столбцу был назначен псевдоним ('select foo as bar from...'), то нужно использовать его, вместо имени столбца.
Если field не указан, то берется первое поле
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.