Помощь с mysql_result

WebSQLNeeder

Новичок
Помощь с mysql_result

Прошу не отправлять меня к документации, а обьяснить своими словами. Как использовать эту функцию? Дело в том, что, например, когда я ставлю mysql_result($r,0,0) то выводится ошибка Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 112 in /home/public_html/money2.php on line 9

А в другом скрипте точно такой же код не выдает ошибки. Так как быть? Как получать данные из отдельной ячейки? Какие параметры функции являются обязательными и как их вообще выбирать?

От чего возникает ошибка и как ее избегать??
 

jdoe

Новичок
эту функцию вообще не надо использовать.
используй mysql_fetch_row.
 

WebSQLNeeder

Новичок
Хорошо, а как использовать mysql_fetch_row ?

Ну вот, например есть таблица в ней хранятся данные о том сколько раз по какой ссылки и какой айпи-адрес кликнул.

Вот, теперь мне нужно вытянуть SELECT skolko FROM baza WHERE ssilka='yandex.ru';

Так вот как теперь получить это значение?
 

WebSQLNeeder

Новичок
Да с MySQL я имею некоторые представления, хотя не скрою, что только учусь ...

Спасибо за ссылку, почитаю...
 

WebSQLNeeder

Новичок
Сделал как вы советовали но проблема не решилась [$rr=mysql_result($r)]

Помните я спрашивал о том, что выдается ошибка Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 112 in /home/public_html/money2.php


SQL запрос: $r=mysql_query("SELECT field FROM main WHERE id='$id';") or die(mysql_error());

Ошибка указывает на: $rr=mysql_result($r,0,0);

Ну ведь по идеи должно выдать первое значение из field

Так вот мне советовали есть ли там вообще возвращаются ли какие то данные этим запросом, я поставил echo mysql_num_rows($r)."<br>";

Да!! Есть, единички полетели! Так в чем же тогда дело ??? Почему $rr=mysql_result($r,0,0); продолжает ругаться ???

Еще очень интересный момент. Этот скрипт у меня отлично работал на предыдущей таблице main1, я создал вторую таблицу main ТОЧНУЮ КОПИЮ main1, НО убрал там PRIMARY KEY и вот ТЕПЕРЬ появился этот глюк.

Я никак не могу понять что же делать ???
 

Фанат

oncle terrible
Команда форума
тебе не говорили использовать mysql_num_rows
тебе сказали использовать mysql_fetch_row

вообще, мне кажется твоё общение на этом форуме бесполезным.
ты не делаешь то что тебе говорят.
делаешь то, что не велят.
надо бы заканчивать.
 

WebSQLNeeder

Новичок
mysql_fetch_row я пробовал но потом выдается ошибка, что скрипт не может обработаться за 30 секунд.

В другой теме мне советовали проверить выводятся ли вообще данные - они выводятся.

Да и вопрос то в другом. Как я уже говорил - этот скрипт с другой ИДЕНТИЧНОЙ таблицей работает без всяких ошибок (потипу задержки выполнения скрипта в 30 секунд как это есть с mysql_fetch_row). Так вот не пойму что произашло если я убрал PRIMARI KEY как теперь быть.

-~{}~ 28.08.05 00:01:

Ну вот есть точно такая таблица, только там был этот праймири кей а из-за него нельзя было дважды присваивать одному и тому же полю разные значения, пришлось скопировать таблицу, убрать праймери кей и теперь вот тебе на - этот глюк ...
 

Фанат

oncle terrible
Команда форума
убрал PRIMARI KEY как теперь быть.
добавить, чучело!
Ну вот есть точно такая таблица, только там был этот праймири кей а из-за него нельзя было дважды присваивать одному и тому же полю разные
какому полю?
праймари в мускулевской таблице по умолчанию - id автоинкрементный.
зачем тебе понадобилось в него одинаковые значения вбивать?
 

WebSQLNeeder

Новичок
Дело в том, что у меня это статистика кликов по ссылке и если был праймери кей то учитывался только один клик по ссылке. То есть есть если на ссылку кликнут пять раз то мне выдавался только один айпи того кто кликнул - последнего (или первого уже не помню).
 

Фанат

oncle terrible
Команда форума
у тебя каша в голове.
чудовищная.
полнейшее непонимание того, что теребят твои шаловливые ручки.
ты выкинул праймари кей из таблицы в 17 тыщ записей.
база просто ПЕРЕСТАЛА РАБОТАТЬ от такого издевательства.
ты же видишь причину в чём угодно - в хостинге, в функции mysql_fetch_row - но только не в своих, растущих из заднего отверстия ручонках.

рассказывай, несчастный, как устроена твоя таблица, и как ты там свои клики учитываешь, счетовод Вотруба.
 

WebSQLNeeder

Новичок
Да ладно харе смеяться как буд то все рождаются с медалями на шеях.

Я действительно запутался в построении базы данных, но я только учусь и если я что то делаю не так то это совсем не из-за того что я даун ... Вот не люблю когда начинают говорить руки не оттуда ростут ... Все мы люди и всем свойственно ошибаться ...
 

Фанат

oncle terrible
Команда форума
короче, склифософский.
у тебя проблемы с коммуникацией?
тебе всё по два раза надо повторять?
если ты не понял - я не оправдания тут твои мечтал слушать, а - читай по губам:
как устроена твоя таблица, и как ты там свои клики учитываешь
андестенд?
или со второго тоже непонятно?
 

WebSQLNeeder

Новичок
I understood ...

Ну значит есть таблица stat_click с полями:

ip TEXT,
id INT,
time DATETIME;

отдельно в этом скрипте есть список дружественных сайтов по которым будут кликать люди

$m[0]="yandex.ru";
$m[1]="rambler.ru";
$m[2]="yahoo.com";
$m[3]="google.com";
$m[4]="mail.ru";

Это просто названия, это не ссылки.

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

$c=count($m);
$param=""; // Это так на всякий случай если нужны будут дополнительные параметры к запросу добавить, например limit
for($k=0;$k<$c;$k++)
{
$sql="SELECT * FROM stat_click2 $param";
$result=mysql_query($sql);
$cnt=mysql_num_rows($result);
// print "Всего новых кликов = ".$cnt."<br>";

// Теперь вывожу данные из БД

while ($ar=mysql_fetch_array($result))
{
if(take_friend($ar["id"],$m[$k]))
{
//вобщем дальше идет вывод количества кликов
}
}
}

Нужно обратить внимание на функцию take_friend($ar["id"],$m[$k]) собственно в которой и возникает ошибка.

function take_friend($id,$frien)
{
$r=mysql_query("SELECT field FROM main WHERE id='$id';") or die(mysql_error());
$rr=mysql_result($r,0,0);

//print $rr."<br>";
if($rr==$frien){$j++;return true;}else{return false;}
}

Смысл в чем - в этой другой таблице хранятся имена друзей с их детальными информациями и функция сверяет совпадают ли имена и если да то добавляет один клик и выводит на экран.

Вот собственно и все... Может я как то все намутил? Может как то можно оптимизировать все это? Но не это главное. меня смущает вот эта ошибка - Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 112 in /home/public_html/money2.php
 

Фанат

oncle terrible
Команда форума
хех.
я стебался, когда писал, что ты все свои 17 тыщ по одной строчке перебираешь.
оказывается - правда.

но больше всего меня убивает эта фраза:
Но не это главное. меня смущает вот эта ошибка - Warning: mysql_result(): Unable
кривая база его не смущает.
чудовищный код - тоже.
ПОЛНОЕ незнание SQL - ни в малейшей степени.
а вот mysql_result(): - это корень всех бед.

Тебя в музей надо сдать. И нерадивым студентам показывать.
 

WebSQLNeeder

Новичок
Хорошо, как можно получить информацию не перебирая все 17 тыс. записей?
 

Фанат

oncle terrible
Команда форума
для этого ты должен объяснить, наконец, КАКАЯ ИНФОРМАЦИЯ ТЕБЕ НУЖНА.
русским, человеческим языком.
а не приводя куски совершенно бессмысленного кода.
по которым можно узнать только, что их автор тяжело болен.

объяснить, какая информация лежит у тебя в базе.
во всех таблицах.
которые у тебя используются, но которые ты мельком упоминаешь.
о том, какие связи между таблицами.

(правда, я думаю, что поставленная задача для тебя неразрешима)
 
Сверху