За последние 24 часа нас посетили 18639 программистов и 1660 роботов. Сейчас ищут 973 программиста ...

Ошибка.. Превышено время запроса..

Тема в разделе "MySQL", создана пользователем maZa, 2 окт 2009.

  1. maZa

    maZa Guest

    do

    {

    $idus = "SELECT `id`
    FROM `users`
    WHERE `id`= '{$idi}'
    LIMIT 1";
    {

    ->>>>>>>> $sqlc = mysql_query($idus) or die(mysql_error());


    if (mysql_num_rows($sqlc) == 1)



    В строчке обозначенной >>>>>> Выдает ошибку: Fatal error: Maximum execution time of 30 seconds exceeded in z:\home\localhost\www\auth\index.php on line 191 (перевод :Фатальная ошибка: Максимальное время выполнения 30 секунд превысило в z:\home\localhost\www\auth\index.php на линии 191
    )
    Немогу понять в чем проблема... Помоготе..
     
  2. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    цикл do
    приведи полностью
     
  3. maZa

    maZa Guest

    if (isset($_SESSION['user_id']))
    {

    $idi=1;


    do

    {

    $idus = "SELECT `id`
    FROM `users`
    WHERE `id`= '{$idi}'
    LIMIT 1";
    {

    $sqlc = mysql_query($idus) or die(mysql_error());


    if (mysql_num_rows($sqlc) == 1)

    // $rowc= mysql_fetch_assoc($sqlc);

    //$nextc = $rowc['id'];

    //if ($nextc=true)

    {
    $pros2 = "SELECT `pros`
    FROM `users`
    WHERE `id`= '{$idi}'
    LIMIT 1";
    {
    $sql = mysql_query($pros2) or die(mysql_error());

    $roww= mysql_fetch_assoc($sql);
    }
    $next = $roww['pros'];

    $pros3 = "SELECT `vpros`
    FROM `users`
    WHERE `id`= '{$idi}'
    LIMIT 1";
    {
    $sql2 = mysql_query($pros3) or die(mysql_error());

    $roww2= mysql_fetch_assoc($sql2);
    }
    $next2 = $roww2['vpros'];
    if ($next>$next2)
    {
    $sites = "SELECT `site`
    FROM `users`
    WHERE `id`= '{$idi}'
    LIMIT 1";
    {
    $sql = mysql_query($sites) or die(mysql_error());

    $ss= mysql_fetch_assoc($sql);
    }
    $sis = $ss['site'];



    print '<a href=' . $sis . '>' . $sis . '<br></a>' ;
    }
    else
    {
    print 'отказано';
    }
    }
    }
    }
    while(++$idi>=2);
     
  4. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    А теперь учимся оформлять код тегами.
    видишь такие кнопочки над полем для сообщения?
     
  5. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Фу, жесть
    это не код а полный абзац...

    Этот код работать не должен и не будет

    У тебя 9 открывающих скобок {
    и 8 закрывающих }

    Про их место положение и связность я вообще молчу...
     
  6. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Ах, да.
    выпрос был - "в чем проблема".

    Отвечаю.

    Проблема в том, что код написан через одно место.
    Поэтому сколько запросов к базе у тебя происходит можно только гадать.
     
  7. maZa

    maZa Guest

    Не фукай мымра... Я всего 3 день пыху учу и пробую и у меня все нормально со скобками последнюю не скопирывал...Вот с твоих слов " Про их место положение и связность я вообще молчу..." - используй последнее и не пи***, а учись нормально общаться ГУсь
     
  8. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Боюсь, юноша, с таким апломбом вы не скоро выучите свою "пыху" :)
    Если вы ее вообще выучите :) некоторым это "не дано"
     
  9. maZa

    maZa Guest

    Время покажет... Просто не понравилось твое накрученное отношение... Можно было проще обьяснить, что и как нужно и сказать что так не пишется... Тут вроде спрашивают, что и как и потсказуют.... а не ****** что Фу, Жесть и т.д....
     
  10. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Учитывая некоторые моменты вашей биографии... я бы рекомендовал вам изменить свое отношение к тому, что вам должны окружающие :)

    Никто ничего вам не должен. Если вы хотите, чтобы вам помогли решить вашу проблему. То учимся быть терпеливыми, приятными и послушными :)

    А у меня проблем нет и от вас мне ничего не надо, поэтому я буду вести себя так, как мне привычнее :) Comprenez?
     
  11. maZa

    maZa Guest

    Лично и далеко не лично от Вас, Я ничего не требую и не прошу, но выслушивать ху*ню типа "Фу, Жесть, что это за код, да кто так пишет и т.д.., я не собираюсь... Если Вы не хотите помоч, по теме, то Вас никто не тянет за шею и не мокает в ведро...[/b]
     
  12. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Это вам скажет любой из тех кто способен вам действительно помочь :)

    Так что привыкайте :) Или решайте свои вопросы самостоятельно :)
    Меня устроят оба варианта :)

    Поэтому, юноша, не парьтесь - вас имеют. Расслабтесь и получайте удовольствие.
     
  13. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    тебе, maZa, Simpliest дело говорит. уважай здесь присутствующих. неужели так тяжело оформить код красиво? вот смотри, я на это потратил две минуты:

    PHP:
    1. <?php
    2. if (isset($_SESSION['user_id'])) {
    3.     $idi = 1;
    4.     do {
    5.         $idus = "SELECT `id` FROM `users` WHERE `id`= '{$idi}' LIMIT 1";
    6.         {
    7.             $sqlc = mysql_query($idus) or die(mysql_error());
    8.             if (mysql_num_rows($sqlc) == 1) {
    9.                 // $rowc= mysql_fetch_assoc($sqlc);
    10.                 //$nextc = $rowc['id'];
    11.                 //if ($nextc=true)
    12.                 $pros2 = "SELECT `pros` FROM `users` WHERE `id`= '{$idi}' LIMIT 1";
    13.                 {
    14.                     $sql = mysql_query($pros2) or die(mysql_error());
    15.                     $roww= mysql_fetch_assoc($sql);
    16.                 }
    17.                 $next = $roww['pros'];
    18.                 $pros3 = "SELECT `vpros` FROM `users` WHERE `id`= '{$idi}' LIMIT 1";
    19.                 {
    20.                     $sql2 = mysql_query($pros3) or die(mysql_error());
    21.                     $roww2= mysql_fetch_assoc($sql2);
    22.                 }
    23.                 $next2 = $roww2['vpros'];
    24.                 if ($next>$next2) {
    25.                     $sites = "SELECT `site` FROM `users` WHERE `id`= '{$idi}' LIMIT 1";
    26.                     {
    27.                         $sql = mysql_query($sites) or die(mysql_error());
    28.                         $ss= mysql_fetch_assoc($sql);
    29.                     }
    30.                     $sis = $ss['site'];
    31.                     print '<a href=' . $sis . '>' . $sis . '<br></a>' ;
    32.                 } else {
    33.                     print 'отказано';
    34.                 }
    35.             }
    36.         }
    37.     } while(++$idi >= 2);
    38.  
    Код жосткий. Для начала непонятно, что это такое в строках 6, 13 и 19. Хотя, на удивление, работает. Второе — видимо, ты забыл скопировать последнюю закрывающую скобку. а ошибка возникает из-за while(++$idi >= 2); — ты увеличиваешь $idi на единицу с каждым проходом цикла, а цикл завершится только если иди будет меньше 2. то есть, так как оно увеличивается — цикл бесконечный. ну а чтобы не писать такие запросы — надо выбирать не одно поле, а все, то есть вместо кучи
    [sql]SELECT `id` FROM `users` WHERE `id`= '{$idi}' LIMIT 1[/sql]
    надо написать один
    [sql]SELECT * FROM `users` WHERE `id`= '{$idi}' LIMIT 1[/sql]
     
  14. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Да ничего удивительного нет.

    блочным оператором {} можешь выделить любой связанный кусок кода :)
    Смысла правда 0.
     
  15. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    Simpliest, буду знать)

    вообще, правильный код на удивление простой:
    PHP:
    1. <?php
    2. if (isset($_SESSION['user_id'])) {
    3.     $sql  = mysql_query("SELECT * FROM `users`") or die(mysql_error());
    4.     while ( $row = mysql_fetch_assoc($sql) ) {
    5.         if ($row['pros'] > $row['vpros']) {
    6.             echo "<a href='$row[site]'>$row[site]</a>";
    7.         } else {
    8.             echo "Отказано";
    9.         }
    10.     }
    11. }
    Думаю, правда, это решение афтору только помешает. Но может хоть поймет, как в следующий раз правильно оформлять код.

    И да, maZa, тебе повезло. Я последнее время редко читаю темы новичков))
     
  16. maZa

    maZa Guest

    Аху*тЬ!!(сорри за слово, но без него не как) Кабанчик - ты лутщий признаю....Поменял направление скобки и все заработало!!! ААА та ты шо... Спасибо тебе большое, что не поленился!!!! Человеческое спасибо!!! Йопт сижу 2 день мозги квашу, немогу понять, что не так...
     
  17. maZa

    maZa Guest

    Так я в ШОКЕ... работает... блин просто направление скобки поменял!!! while(++$idi >= 2); пипец короче...
    Еще раз тебе спасибо, что помог...
     
  18. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    "Кабанчик", так мене ще ніхто не називав...

    нет за что, ты главное все остальное прочитай и проанализируй
     
  19. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    капец

    (давно хотел сказать - а в этом топике походу можно матерится)