За последние 24 часа нас посетили 20269 программистов и 1083 робота. Сейчас ищут 683 программиста ...

Подскажите не работает WHERE в запросе SQL

Тема в разделе "MySQL", создана пользователем drey19061984, 2 фев 2016.

  1. drey19061984

    drey19061984 Новичок

    С нами с:
    23 янв 2016
    Сообщения:
    88
    Симпатии:
    0
    у меня месяц, успею мануалы почитать поэтому и смеюсь)
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    ну на решение такой задачи - часа достаточно. хочешь потратить месяц - дело твоё.
     
  3. drey19061984

    drey19061984 Новичок

    С нами с:
    23 янв 2016
    Сообщения:
    88
    Симпатии:
    0
    хм мне научится надо на будущее
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    Запасись ведром кофе и за месяц научишься ((:)
     
  5. drey19061984

    drey19061984 Новичок

    С нами с:
    23 янв 2016
    Сообщения:
    88
    Симпатии:
    0
    спасибо, зачем тогда форум??????????
     
  6. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    Для подсказок (:)
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    базовые понятия учатся в учебнике, на форуме можно обсудить какой подход лучше, как решать проблему.

    А "я не умею обрабатывать форму" это "иди почитай полчасика и научишься". Если у тебя в голове нет основных примитивов из которых состоят алгоритмы, то объяснить тебе тот или иной алгоритм решения задачи - невозможно.
     
  8. drey19061984

    drey19061984 Новичок

    С нами с:
    23 янв 2016
    Сообщения:
    88
    Симпатии:
    0
    тоесть решения моего вопроса нет есть только иди учись?)))))))))))
     
  9. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    решение есть. тебе его уже дали. ты не путай понятия "решение" и "халявный готовый исходный код". ты вроде как хотел сам понять-разобраться. я тебе два дня одно и то же говорю - ты же ни на шаг не продвинулся.
     
  10. drey19061984

    drey19061984 Новичок

    С нами с:
    23 янв 2016
    Сообщения:
    88
    Симпатии:
    0
    ясн пойду в раздел "Сделайте за меня. Не хочу учиться, не хочу платить.")))))))))))))))))))))))))))
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    там не помогут
     
  12. drey19061984

    drey19061984 Новичок

    С нами с:
    23 янв 2016
    Сообщения:
    88
    Симпатии:
    0
    Всем спасибо, ну если коротко - то разобрался, это так, кому интересно для примера -

    Код (PHP):
    1. <?php
    2. require '../php_primer/database_connection.php';
    3.  
    4. {
    5. $first_name = trim($_REQUEST['first_name']);
    6. $city = trim($_REQUEST['city']);
    7. }
    8. /* Выполнение SQL запроса */
    9. $query = "
    10. SELECT u.*, c.*
    11. FROM USERS u
    12. INNER JOIN CITY c
    13. ON c.idCITY = u.idCITY
    14. WHERE
    15. u.FIRST_NAME = '$first_name'
    16. AND
    17. u.idCITY = '$city'
    18. ";
    19. $result = mysql_query($query) or die("Запрос ошибочный");
    20. if (!$result) {
    21.         echo "Could not successfully run query ($query) from DB: " . mysql_error();
    22.         exit;
    23.     }
    24.     
    25.     if (mysql_num_rows($result) == 0) {
    26.         echo "Результаты по заданным параметрам не найдены!";
    27.         exit;
    28.     }
    29.     while ($row = mysql_fetch_assoc($result)) 
    30.     
    31.     {
    32.     printf("
    33. <h2 style='font-size: 25px;margin-bottom: 10px;'>ФИО: " .$row['FIRST_NAME'] . " " .$row['LAST_NAME'] . "</h2> 
    34. <h3>Город: " .$row['CITY_NAME'] ." </h3>
    35. <h3>Дата рождения: " .$row['BIRTHDAY'] ." </h3>
    36. ");
    37. }
    38.  
    39. ?>
     
  13. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    инъекции... неоднозначный тип данных в переменной city...
     
  14. drey19061984

    drey19061984 Новичок

    С нами с:
    23 янв 2016
    Сообщения:
    88
    Симпатии:
    0
    и как это можно проверить?то есть что подставить в строку браузера?
     
  15. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Чего тут проверять, у вас уже есть инъекция.
     
  16. drey19061984

    drey19061984 Новичок

    С нами с:
    23 янв 2016
    Сообщения:
    88
    Симпатии:
    0
    подскажите пожалуйста как преобразовать эскьюэль запрос чтоб он искал например по 1 таблице по 3 полям - имя город год рождения - но так чтоб поиск велся - например - город - Москва - находятся все из Москвы, если выбирают Москва и год например 1984 то все у кого в БД только 1984год и Москва, а все остальные не показываются???
     
  17. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    так же как и с одной таблицей. условие с "и".
     
  18. drey19061984

    drey19061984 Новичок

    С нами с:
    23 янв 2016
    Сообщения:
    88
    Симпатии:
    0
    код
    Код (PHP):
    1. SELECT * FROM USERS
    2. WHERE
    3. FIRST_NAME = '$first_name'
    4. AND
    5. CITY = '$city'
    6. AND
    7. BIRTHDAY_YEAR = '$birthday' 
    выдает всех у кого если выбираю например Москва и 1984 г.р. показывает 2 человек из БД у которых параметры:
    Андрей город-Зеленоград г.р.-1984 и
    Иван город-Москва г.р. - 1995
    а мне надо чтоб выполнялось либо 1 условие - Москва - N кол-во записей например - Иван
    либо 2 условия
    Москва и 1995г.р. тоже - Иван
    а если
    Зеленоград и 1995г.р. (то чего в БД в одной строке нет) - то выдавало бы "Результатов не найдено"
    просто у меня 15 полей поиска будет
    как сделать?
     
  19. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    хотелось бы на фидле увидеть живые данные. в приведенном виде запрос уже обладает нужной логикой.
     
  20. drey19061984

    drey19061984 Новичок

    С нами с:
    23 янв 2016
    Сообщения:
    88
    Симпатии:
    0
    что такое
    ?
     
  21. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
  22. drey19061984

    drey19061984 Новичок

    С нами с:
    23 янв 2016
    Сообщения:
    88
    Симпатии:
    0
    Заголовок: Подскажите не работает WHERE в запросе SQL

    вот что есть
    [​IMG]
    [​IMG]
    [​IMG]

    код пхп
    Код (PHP):
    1. <?php
    2. require '../database_connection.php';
    3.  
    4. if (!mysql_connect(DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD)) {
    5.     exit('Cannot connect to server');
    6. }
    7. if (!mysql_select_db(DATABASE_NAME)) {
    8.     exit('Cannot select database');
    9. }
    10.  
    11. {
    12. $first_name = trim($_REQUEST['first_name']);
    13. $city = trim($_REQUEST['NAS_PUNKT']);
    14. $phone1 = trim($_REQUEST['PHONE_1']);
    15. $phone2 = trim($_REQUEST['PHONE_2']);
    16. $birthday = trim($_REQUEST['birthday']);
    17. }
    18. /* Выполнение SQL запроса */
    19. $query = "
    20. SELECT * FROM USERS
    21. WHERE 
    22. FIRST_NAME = '$first_name'
    23. OR
    24. BIRTHDAY_YEAR = '$birthday'
    25. ";
    26. $result = mysql_query($query) or die("Запрос ошибочный");
    27. if (!$result) {
    28.         echo "Could not successfully run query ($query) from DB: " . mysql_error();
    29.         exit;
    30.     }
    31.     
    32.     if (mysql_num_rows($result) == 0) {
    33.         echo "Результаты по заданным параметрам не найдены!";
    34.         exit;
    35.     }
    36.     while ($row = mysql_fetch_assoc($result)) 
    37.     
    38.     {
    39.     printf("
    40. <p style='font-size: 25px;margin-bottom: 10px;'>ФИО: " .$row['LAST_NAME'] . " " .$row['FIRST_NAME'] . " " .$row['MIDDLE_NAME'] . "  </p> 
    41. <ul>
    42. <li>Город: " .$row['NAS_PUNKT'] ." </li>
    43. <li>Год рождения: " .$row['BIRTHDAY_YEAR'] ." </li>
    44. <div style='display:none;'>
    45. <li>Дом.телефон: " .$row['PHONE_1'] ." </li>
    46. <li>Моб.телефон: " .$row['PHONE_2'] ." </li>
    47. <li>E-mail: " .$row['EMAIL'] ." </li>
    48. </ul>
    49. <p style='font-size: 18px;margin-top: 0px;'><a href='../show_user222.php?idUSERS=" .$row['idUSERS'] . "'>Посмотреть проект полностью</a></p>
    50. ---------<br/>
    51. </div>
    52. "
    53.     );
    54. }
    55.  
    56. ?>
    код формы поиска
    Код (PHP):
    1. <form name="search" method="post" action="../search222.php" style="text-align: right;margin-right: 30%;">
    2.  
    3. Имя: <input type="text" name="first_name" id="query_text" size="60" value="">
    4. <p></p>
    5. <select name="city" value="">
    6. <option value="">Город</option>
    7. <option value="Москва">Москва</option>
    8. <option value="Воронеж">Воронеж</option>
    9. </select>
    10. <p></p>
    11. <select name="birthday" value="">
    12. <option value="">Год рождения</option>
    13. <option value="1984">1984</option>
    14. <option value="1999">1999</option>
    15. </select>
    16. <p></p>
    17.  
    18. <input type="submit" name="submit" value="Искать"><input type="reset" name="reset" value="Очистить">
    19. </form> 
    Добавлено спустя 28 минут 4 секунды:
    короче говоря нужен поиск либо по 1 полю совпадающему по 1 полю в БД, либо по 2 полям которые есть в БД у 1 пользователя, а щас получается что при поиске по 2 условиям выбирает и того у кого совпало по 1 полю и того у кого совпало по 2 полю
     
  23. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969