Поиск по mysql

Discussion in 'PHP' started by -slim-, 24 Oct 2010.

  1. -slim-

    -slim- Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    Есть страничка search.php

    Есть форма, action которой направлен на search.php?act=search

    В кэйсе search мне надо произвести поиск по mysql с выдачей результатов
    SELECT * FROM `blabla` WHERE MATCH(...) AGAINST('$search')
    почему-то не работает, да и неэффективно как-то

    Кто может предложить мне хороший вариант с поиском по базе данных без sql injection и тд

    спасибо
     
  2. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    mysql_real_escape_string

    и все нет инъекций.
     
  3. OSW

    OSW Elder - Старейшина

    Joined:
    12 Jul 2007
    Messages:
    320
    Likes Received:
    54
    Reputations:
    7
    А конструкция вида: SELECT * FROM `bla-bla` WHERE `name` LIKE $name не подходит? Но она будет выводить в таком виде:
    SELECT * FROM `bla-bla` WHERE `name` LIKE $name
    $name = бор

    результат:
    бор
    борная
    выбор
    и т.д.
     
  4. -slim-

    -slim- Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    Нужны точнеые выводы, к тому же без уязвимостей, господа
    Помогите составить грамотный запрос
     
  5. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    -slim- подумайте и сформулируйте, что вы хотите. Про защиту от инъекций читать тут: /thread30641.html
     
    _________________________
  6. -slim-

    -slim- Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    тогда данные нужно предавать через get?
    или можно постом?
    или как лучше вообще будет?
     
  7. !Knyaz2010!

    !Knyaz2010! Member

    Joined:
    24 Jun 2010
    Messages:
    57
    Likes Received:
    5
    Reputations:
    5
    <form action='search.php' currency='POST' ENCTYPE=multipart/form-data>
    <input name='seach' type='text' ><input name='see' type='submit' value='Знайти'><p></p>
    </form>


    <?php
    if(@$see){
    $p=mysql_query("SELECT * FROM bla-bla where название поля='$seach'",$db);
    $seach = strtolower($seach);
    while($bb=mysql_fetch_row($p)){
    echo " "; //здесь выводишь всё что тебе надо
    ?>

    Скрипт писал сам и норм работает. Если что есть ещё ajax-скрипт поиска