За последние 24 часа нас посетили 20370 программистов и 1090 роботов. Сейчас ищут 769 программистов ...

Вывод информации из MySQL

Тема в разделе "PHP и базы данных", создана пользователем antisept, 29 май 2022.

Метки:
  1. antisept

    antisept Новичок

    С нами с:
    29 май 2022
    Сообщения:
    3
    Симпатии:
    0
    Всем привет. Пытаюсь вывести нужную мне информацию из БД. В БД есть таблица people с полями id (INT), name и email (VARCHAR).
    Код (Text):
    1. <form action="" method="post">
    2.   <table>
    3.     <tr>
    4.       <td>Введите имя:</td>
    5.       <td><input type="text" name="nameses"></td>
    6.     </tr>
    7.     <tr>
    8.       <td colspan="1"><input type="submit" name="knopic" value="Найти"></td>
    9.     </tr>
    10.   </table>
    11. </form>
    12.  
    13. <?php
    14.   if (isset($_POST["knopic"])) {
    15.   $sql = mysqli_query($link, "SELECT * FROM `people` WHERE `name` = {$_POST['nameses']}");
    16.   while ($resultses = mysqli_fetch_array($sql)) {
    17.    echo " {$resultses['name']} {$resultses['email']}<br>";
    18.     }
    19.   }
    20. ?>
    В input вписываю имя, которое хочу найти в БД и нажимаю кнопку "Найти", но ничего не выводится. А если

    Код (Text):
    1. WHERE `name`
    заменить на

    Код (Text):
    1. WHERE `id`
    и искать уже по id, то все работает, как надо. Почему не ищется по name?
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.817
    Симпатии:
    735
    Адрес:
    Татарстан
    1 ну нельзя, нельзя непосредственно в запрос что вводит пользователь отдавать. Подготовленные запросы, на крайний случай экранирование
    2. При сравнении строк нужны кавычки where name =' vasa'
    3 ну и нвкрняка имя неверно вводите, если же совпадение нужно то хотя бы like использовать
     
    antisept нравится это.
  3. antisept

    antisept Новичок

    С нами с:
    29 май 2022
    Сообщения:
    3
    Симпатии:
    0
    Понимаю) Но, я только начинаю изучение и тренируюсь. Все на localhost, безопасно:)
    Действительно, забыл про кавычки. Спасибо! Теперь все работает
     
  4. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.789
    Симпатии:
    646
    Да, тут понятно, что дело в кавычках, но все остальное, про что вам написали, обязательно тоже учитывайте!

    Ну, если не LIKE, то хотя бы предварительный trim делайте для поиска «точных совпадений» ;)
     
    antisept нравится это.
  5. antisept

    antisept Новичок

    С нами с:
    29 май 2022
    Сообщения:
    3
    Симпатии:
    0
    Да, конечно) На самом деле, помимо ответа на вопрос, получить еще и полезный совет, который позволит в дальнейшем избежать проблем - это всегда хорошо

    Спасибо, буду пробовать разные варианты:)