За последние 24 часа нас посетили 16848 программистов и 1316 роботов. Сейчас ищет 1631 программист ...

Глюки в запросе SELECT * FROM pers WHERE name=(переменная)

Тема в разделе "MySQL", создана пользователем Moha_Han, 24 май 2007.

  1. Moha_Han

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

    С нами с:
    24 май 2007
    Сообщения:
    2
    Симпатии:
    0
    Адрес:
    Krasnojarsk
    В страничке в браузере есть два поля ввода (name и pass), при нажатии кнопки запроса на PHP-скрипт обрабатывется такой запрос:

    $query = "SELECT * FROM pers WHERE name='{$_POST['name']}' AND password='{$_POST['pass']}'";

    $result = mysql_query($query) or die ("Invalid query: " . mysql_error());

    echo mysql_result($result,0) ;

    только дело в том, что значение в $query плучается таким:

    SELECT * FROM pers WHERE name='' AND password=''

    Выборка просто не осуществляется. Как так?
     
  2. Петр

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

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
    Во-первых, не осуществляется потому что ни одна запись не удовлетворяет условию.
    Во-вторых, где страничка с формой? Я хочу туда что-нибудь ввести.
     
  3. Moha_Han

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

    С нами с:
    24 май 2007
    Сообщения:
    2
    Симпатии:
    0
    Адрес:
    Krasnojarsk
    Re: Глюки в запросе SELECT * FROM pers WHERE name=(переменна

    Спасибо, мне уже успели помочь.
     
  4. stas_t

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

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    искренне надеюсь, что вы успеете заменить запрос
    PHP:
    1. <?php $query = "SELECT * FROM pers WHERE name='{$_POST['name']}' AND password='{$_POST['pass']}'";?>
    на
    PHP:
    1. <?php $query = "SELECT * FROM pers WHERE name='".mysql_real_escape_string ($_POST['name'])."' AND password='".mysql_real_escape_string ($_POST['pass'])."'";?>
    до того, как покажете вашу форму на публике...