Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Отличие mysql_fetch_assoc от mysql_result


Автор: Golovastik 21.9.2010, 22:59
Скажите что лучше использовать для получения результата запроса функцию  mysql_fetch_assoc или mysql_result.
Зачем нужен 2-ой параметр для mysql_result.?
 

Автор: Muerto 22.9.2010, 00:50
А они очень отличаются... 
fetch_assoc берет всю "строку"

А mysql_result берет допустим если ни фига не задать к примеру mysql_result($result,0);
То вернет просто самую первую запись, и первое значение...

По крайней мере так я понимаю... сам лично не пользуюсь почти никогда этим...


вот здесь хорошо написано http://www.w3schools.com/php/func_mysql_result.asp

Автор: Golovastik 22.9.2010, 01:23
Код

То вернет просто самую первую запись, и первое значение...


А если мне нужно вернуть  2 строку и 3-ий столбец?

Добавлено через 4 минуты и 15 секунд
Просто здесь используют и то и другое поэтому спросил.
http://www.softtime.ru/article/index.php?id_article=33
Там вначале сделали запрос который получает кол-во записей в таблице.
И передали в качестве аргумента это кол-во функции mysql_result но не 
mysql_fetch_assoc,поэтому спрашиваю в чём их различие.

Автор: IgorIV 22.9.2010, 19:21
Код

// Определяем общее число сообщений в базе данных  
$result = mysql_query("SELECT COUNT(*) FROM post");  
$posts = mysql_result($result, 0); 

Этот запрос возвращает одно значение - количество постов.
Код

$result = mysql_query("SELECT * FROM post LIMIT $start, $num");  
// В цикле переносим результаты запроса в массив $postrow  
while ( $postrow[] = mysql_fetch_array($result)) 

Этот запрос возвращает строки с данными поста. Столбцов много и строк много.

Автор: Golovastik 22.9.2010, 20:16
Как написать правильно чтоб вытянуть с помощью функции mysql_result в первой строке слово privet
user posted image

Автор: DeamonShan 22.9.2010, 20:39
Golovastik, 

Код

SELECT meta_d from $this_table where meta_d="Privet";


 smile Вопрос уточните...

Автор: IgorIV 22.9.2010, 20:50
Код

SELECT meta_d from $this_table where id=1;
SELECT meta_d from $this_table where text="Петя";

Но смысла так делать нет.

Автор: Golovastik 22.9.2010, 21:33
Код

SELECT meta_d from $this_table where meta_d="Privet";


Понятно что так можно, я именно хочу с вытащить данные с помощью функции
mysql_result  и узнать зачем там второй параметр,прсото постоянно везде говорят что он должен быть равен нулю, только почему.

Автор: enoff 22.9.2010, 22:10
Golovastik, Если выбираете COUNT(*), то вам и нужно достать всего одно значение, а больше и не надо.
Если выбираете всех пользователей, то нужны все данные, поэтому с помощью mysql_fetch_assoc() при каждом вызове возвращается следующая строка.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)