[ПОМОЩЬ]Правильный запрос к базе

Тема в разделе "PHP", создана пользователем Squoll2, 23 сен 2009.

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

    Squoll2 Постоялец

    Регистр.:
    2 июн 2009
    Сообщения:
    80
    Симпатии:
    15
    Народ помогите выполнить полный запрос к базе на посик.
    PHP:
    <?php
    if ($_POST)
    {
        
    $connection mysql_connect('''''');
        
    mysql_select_db('fees0_4171178_gangsta'$connection);
        
    $result mysql_query('
            SELECT
                `ip`
            FROM `grpgusers`
            WHERE (
                `id` = \''
    .mysql_real_escape_string($_POST['id']).'\'
                `username` = \''
    .mysql_real_escape_string($_POST['username']).'\'
            )
            LIMIT 1
        '
    );
        if (
    mysql_num_rows($result) == 1)
            echo(
    '<h3>Ваш ID: <font color=gree>'.mysql_result($result00).'</font> <br>скопируйте его</h3><br><center><a href=war3opit.html>Перейти дальше</a></center>');
        else
            echo(
    '<h3>Такой ник ненайден в базе</h3>');
        
    mysql_free_result($result);
        
    mysql_close($connection);
    }
    ?>
    <form name="search_id" action="" method="post">
        <label for="username">Ник:</label><br/>
            <input type="text" name="username" id="username" value=""/><br/>
        <label for="id">ID:</label><br/>
            <input type="text" name="id" id="id" value=""/><br/
        <input type="submit" name="button" id="button" value="Поиск"/>
    </form>
    Дело в том что надо ввести логин и id то есть логин одного игрока а id другого и он должен вывести две строчки с ip первого и второго. Что я именно сделал нетак так как скрипт неработает
     
  2. antn

    antn Постоялец

    Регистр.:
    11 июл 2009
    Сообщения:
    104
    Симпатии:
    30
    Между 2мя условиями равенства надо поставить какой-нибудь логический оператор, например, AND или OR, в зависимости от логики. 2ух строчек там никак не будет, т.к. в запросе указано LIMIT 1
     
    Squoll2 нравится это.
  3. Squoll2

    Squoll2 Постоялец

    Регистр.:
    2 июн 2009
    Сообщения:
    80
    Симпатии:
    15
    Получилось но не совсем то что надо он выводит ip только первого точнее надо ввести логин или id одного и того же а мне надо чтобы id был от одной записи а ник от другой то есть есть два игрока у обоих есть id и ник. Например я ввожу ник первого игрока а id второго и мне выводит их Ip
     
  4. SergXP

    SergXP Постоялец

    Регистр.:
    8 мар 2008
    Сообщения:
    66
    Симпатии:
    11
    использовать либо два запроса, либо использовать один сложный запрос:
    PHP:
    $result mysql_query("SELECT `ip` FROM `grpgusers` WHERE `id` = '$id' LIMIT 1"); 
    if (list(
    $ip) = mysql_fetch_row($result)) echo "IP-id:".$ip;
    $result mysql_query("SELECT `ip` FROM `grpgusers` WHERE `username` ='$username' LIMIT 1"); 
    if (list(
    $ip) = mysql_fetch_row($result)) echo "IP-username:".$ip;
     
    Squoll2 нравится это.
  5. Squoll2

    Squoll2 Постоялец

    Регистр.:
    2 июн 2009
    Сообщения:
    80
    Симпатии:
    15
    этот запрос неподошёл выдется что такой ник ненайден в базе
     
  6. SergXP

    SergXP Постоялец

    Регистр.:
    8 мар 2008
    Сообщения:
    66
    Симпатии:
    11
    хм... поидеи должно работать, а если так?
    PHP:
    $id mysql_real_escape_string($_POST['id']);
    $username mysql_real_escape_string($_POST['username']);

    // запрос на ID
    $result mysql_query("SELECT `ip` FROM `grpgusers` WHERE `id` = '".$id."'"); 
    if (list(
    $ip) = mysql_fetch_row($result)) echo "IP-id:".$ip;
    // запрос на username
    $result mysql_query("SELECT `ip` FROM `grpgusers` WHERE `username` ='".$username."'"); 
    if (list(
    $ip) = mysql_fetch_row($result)) echo "IP-username:".$ip;
     
    Squoll2 нравится это.
  7. Squoll2

    Squoll2 Постоялец

    Регистр.:
    2 июн 2009
    Сообщения:
    80
    Симпатии:
    15
    Вот так теперь захотел работать
     
Статус темы:
Закрыта.