За последние 24 часа нас посетили 56784 программиста и 1750 роботов. Сейчас ищет 871 программист ...

var_dump = resource(4) of type (mysql result), а дальше ..!?

Тема в разделе "PHP для новичков", создана пользователем incomer, 8 янв 2010.

  1. incomer

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

    С нами с:
    25 апр 2009
    Сообщения:
    49
    Симпатии:
    0
    Адрес:
    я знаю !?
    Добрый вечер.
    вот простой код:
    PHP:
    1. <?php  
    2. $left_key = 13;
    3. $right_key = 20;
    4. $level = 3;
    5.  
    6. $sql2 = "
    7. SELECT  id, name, level
    8. FROM    my_tree
    9. WHERE   left_key >= ".$left_key."
    10. AND     right_key <= ".$right_key."
    11. ORDER BY left_key
    12. ";
    13. echo $sql2; // дает нормальную строку
    14.  
    15. $res2 = mysql_query($sql2,$db) or die(mysql_error());
    16. echo "<pre>";
    17. var_dump ($res2); // выдает - resource(4) of type (mysql result)
    18. echo "</pre>";
    19.  
    20. while ($row2 = mysql_fetch_row($res2)) {
    21.     echo "<pre>";
    22.     var_dump ($row2); // даже в коде разметке ничего нет
    23.     echo "</pre>";
    24.  
    25.     echo "<pre>";
    26.     print_r ($row2); // тоже - ничего нет
    27.     echo "</pre>";
    28. }
    29. ?>
    в чем дело? помогите!
     
  2. VItalijs

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

    С нами с:
    17 дек 2008
    Сообщения:
    244
    Симпатии:
    0
    Адрес:
    Рига, Латвия
    вы уверены что запрос что-то возвращает?
     
  3. Devzirom

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

    С нами с:
    15 фев 2009
    Сообщения:
    463
    Симпатии:
    0
    Адрес:
    Пермь
    Re: var_dump = resource(4) of type (mysql result), а дальше

    Результат пустой. While() { ... }, естественно, не выполняет все что находится внутри, поэтому в разметке ничего нет.
    попробуйте mysql_fetch_array() или хотя бы mysql_num_rows()
     
  4. incomer

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

    С нами с:
    25 апр 2009
    Сообщения:
    49
    Симпатии:
    0
    Адрес:
    я знаю !?
    Спасибо, Devzirom

    mysql_fetch_array() и mysql_num_rows() пробовал

    особенность такая - убираю условия с сортировкой из запроса - результат выдает.

    в самой базе есть строки соответствующие условию, вот сама база : http://files.mail.ru/DK07NS

    все делаю по примеру : http://www.getinfo.ru/article610.html

    В чем дело?
     
  5. incomer

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

    С нами с:
    25 апр 2009
    Сообщения:
    49
    Симпатии:
    0
    Адрес:
    я знаю !?
    Всем спасибо.
    ошибка найдена и исправлена - в самой базе данных названия полей надо поменять местами:
    с left_key, right_key, level на level, left_key, right_key.
    моя вина 8)
     
  6. incomer

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

    С нами с:
    25 апр 2009
    Сообщения:
    49
    Симпатии:
    0
    Адрес:
    я знаю !?
    "вдогонку": добавьте в запрос поле left_key, иначе – бесконечный цикл.