Проблема MySQL и PHP

Тема в разделе "Базы данных", создана пользователем websar, 20 апр 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. websar

    websar Постоялец

    Регистр.:
    8 июл 2007
    Сообщения:
    68
    Симпатии:
    36
    Есть файл со след. содержимым (его часть ниже:(

    $usersql = "SELECT * FROM ".TAB_USERS." where id=".$xid);
    $rescuser = MYSQL_QUERY($usersql);
    $us = mysql_fetch_array($rescuser);

    if($us["pub_stat"]=="1"){
    $checked="checked";
    }else{
    $checked="";
    }

    $xtpl->assign("edit_num", $num_text_top);
    $xtpl->assign("edit_name", $us["site_name"]);
    $xtpl->assign("edit_text", $us["site_text"]);
    $xtpl->assign("edit_url", $us["site_url"]);
    $xtpl->assign("edit_mail", $us["mail"]);
    $xtpl->assign("edit_pub_checked", $checked);
    $xtpl->parse("top.edits");

    Так вот выдается ошибка:
    Warning: mysql_fetch_array(:( supplied argument is not a valid MySQL result resource in /home/websarr4/public_html/top/usr/bin/edits.php on line 5 (в моем случае 5 строка эта: $us = mysql_fetch_array($rescuser); ).
    Помогите решить эту проблему, пожалуйста!
     
  2. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Дело в том что mysql_query вернул не ресурс, а скорее всего булевский тип(false).
    Проверь синтаксис выполняемого запроса.
     
  3. websar

    websar Постоялец

    Регистр.:
    8 июл 2007
    Сообщения:
    68
    Симпатии:
    36
    Так дело в том, что даже если я пишу так:
    $usersql = "SELECT * FROM ".TAB_USERS." where id=".$xid or die (mysql_error());
    $rescuser = MYSQL_QUERY($usersql);

    Так самое инетресное, что на локальном компе работает (установлен Денвер), а после загрузки на сервер (АГАВА) ничего не работает!

    Добавлено через 1 минуту
    Может есть какой-то способ избавиться от этой ошибки?
     
  4. poikl

    poikl

    Регистр.:
    7 ноя 2006
    Сообщения:
    164
    Симпатии:
    31
    $usersql="SELECT *FROM 'TAB_USERS' WHERE `id`='$xid' ";
    так попробуй
     
  5. websar

    websar Постоялец

    Регистр.:
    8 июл 2007
    Сообщения:
    68
    Симпатии:
    36
    Попробовал, все без изменений:(
     
  6. poikl

    poikl

    Регистр.:
    7 ноя 2006
    Сообщения:
    164
    Симпатии:
    31
    а так
    $rescuser = mysql_query("select * from TAB_USERS where id=$xid");
    токо закоментиру й
    $usersql = "SELECT * FROM ".TAB_USERS." where id=".$xid);
    $rescuser = MYSQL_QUERY($usersql);
    и проверь тои у тебя выводица $xid и TAB_USERS
    может тут не то передаеш
     
  7. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    правильней писать
    PHP:
    $usersql "SELECT * FROM ".TAB_USERS." where id=".$xid;
    $rescuser MYSQL_QUERY($usersql)  or die (mysql_error());
     
  8. websar

    websar Постоялец

    Регистр.:
    8 июл 2007
    Сообщения:
    68
    Симпатии:
    36
    Я понимаю, что так правильней. Но тогда выскакивает другая ошибка:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
     
  9. poikl

    poikl

    Регистр.:
    7 ноя 2006
    Сообщения:
    164
    Симпатии:
    31
    ну у тебя ".TAB_USERS." это ".$TAB_USERS."
    если не то кавычки не нужны
     
  10. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Ну вот, этоже прекрасно когда выскакивает ошибка, а не тупо ничо не работает.
    Я уже писал тебе, проверь синтаксис запроса, как видно по ошибке он у тебя неверный..

    напиши
    PHP:
    echo("SELECT * FROM ".TAB_USERS." where id=".$xid);
    результат кидай сюда
     
Статус темы:
Закрыта.