Mysql и PHP LIKE запрос не генерирует результатов на странице, но возвращает результат в Mysql

0

Im, используя несколько запросов LiKE в таблице в mysql, запрос генерируется из другой таблицы, а затем отправляется в Mysql. Фактический запрос при запуске генерирует результаты, но когда я запускаю его на странице, он ничего не возвращает? Во-вторых, должен быть более простой способ запустить один и тот же запрос, используя меньшую команду LIKE, возможно,

mysql_query("SELECT FROM fm_sources WHERE title,excerpt LIKE (list of items to query against)")

это код, который im использует для построения запроса

function parse_club_search($club)
{
    $club="'%".$club."%'";
    $club=mysql_query("SELECT * FROM fm_clubs WHERE name LIKE $club");
    while($row=mysql_fetch_assoc($club))
{
    $search_string=$row['search'];
    $search_staff=$row['staff'];
    $search_players=$row['players'];
}

$search_string=explode(",",$search_string);
$search_staff=explode(",",$search_staff);
$search_players=explode(",",$search_players);

$full_string=array_merge($search_staff,$search_players,$search_string);
array_pop($full_string);
$full_string_legnth=count($full_string);

$sql_query_holder="";

$array_track=0;

foreach($full_string as $tag)
{

   if($array_track!=($full_string_legnth-1))
   {
        echo $tag."<br/>";
        $sql_query_holder=$sql_query_holder." excerpt LIKE '%".$tag."%' OR title LIKE '%".$tag."%' OR";
        $array_track++;
    }
    else
    {
        $sql_query_holder=$sql_query_holder." excerpt LIKE '%".$tag."%' OR title LIKE '%".$tag."%'";
        $array_track++;
    }
}

echo $sql_query_holder."<br/><br/>";

$sql_query_holder="\"".$sql_query_holder."\"";
$search=mysql_query("SELECT * FROM fm_sources WHERE $sql_query_holder ORDER BY tweet_count DESC");

и это эхо-результат запроса, а затем при отсутствии результатов.

выдержка LIKE '% Roy Hodgson%' OR title LIKE '% Roy Hodgson%' ИЛИ ​​выдержка LIKE '% Сэмми Ли%' ИЛИ ​​титул LIKE '% Сэмми Ли% 'ИЛИ выдержка LIKE'% Kenny Далглиш% 'ИЛИ титул LIKE'% Kenny Далглиш% 'ИЛИ выдержка LIKE'% Brad Jones% 'OR title LIKE'% Brad Jones% ' ИЛИ выдержка LIKE '% Glen Johnson%' OR title LIKE '% Glen Johnson%' ИЛИ ​​выдержка LIKE '% Paul Konchesky%' ИЛИ ​​заголовок LIKE '% Paul Konchesky%' ИЛИ ​​выдержка LIKE '% Raul Meireles%' ИЛИ ​​название LIKE '% Raul Meireles% 'ИЛИ выдержка LIKE'% Daniel Agger% 'ИЛИ title LIKE'% Daniel Agger% ' ИЛИ выдержка LIKE '% Fabio Aurelio%' OR название LIKE '% Fabio Aurelio%' OR выдержка LIKE '% Steven Gerrard%' OR название LIKE '% Steven Gerrard%' OR выдержка LIKE '% Fernando Torres%' OR название LIKE '% Fernando Torres%' OR выдержка LIKE '% Joe Cole%' OR title LIKE '% Joe Cole%' ИЛИ ​​выдержка LIKE '% Daniel Pacheco%' ИЛИ ​​заголовок LIKE '% Daniel Pacheco%' ИЛИ ​​выдержка LIKE '% Милан Йованович%' ИЛИ ​​титул LIKE '% Милан Йованович%' ИЛИ ​​выдержка LIKE '% Sotirios Kyrgiakos%' ИЛИ ​​титул LIKE '% Sotirios Kyrgiakos%' ИЛИ ​​выдержка LIKE '% Maxi Rodriguez%' ИЛИ ​​заголовок LIKE '% Maxi Rodriguez%' ИЛИ ​​выдержка LIKE '% Dirk Kuyt%' ИЛИ ​​название LIKE '% Dirk Kuyt% 'ИЛИ выдержка LIKE'% Ryan Babel% ' ИЛИ название LIKE '% Ryan Babel%' OR выдержка LIKE '% Lucas%' ИЛИ ​​заголовок LIKE '% Lucas%' ИЛИ ​​выдержка LIKE '% Danny Wilson% 'OR title LIKE'% Danny Wilson% 'ИЛИ выдержка LIKE'% Jamie Carragher% 'OR title LIKE'% Jamie Каррагер% ​​'ИЛИ выдержка LIKE'% David NGOG% 'ИЛИ заголовок LIKE'% David NGog% 'OR выдержка LIKE '% Pepe Reina%' OR title LIKE '% Pepe Reina%' ИЛИ ​​выдержка LIKE '% Jay Spearing%' ИЛИ ​​титул LIKE '% Jay Spearing% 'ИЛИ выдержка LIKE'% Christian Poulsen% 'OR title LIKE'% Christian Poulsen% 'ИЛИ выдержка LIKE'% Charles Itandje% 'OR title LIKE'% Charles Itandje% 'ИЛИ выдержка LIKE'% Stephen Darby% 'OR title LIKE'% Stephen Дарби% 'ИЛИ выдержка LIKE'% Jonjo Shelvey% 'OR title LIKE'% Jonjo Shelvey% 'OR excerpt LIKE'% Martin Kelly% 'ИЛИ title LIKE'% Martin Kelly% ' ИЛИ выдержка LIKE '% Steven Irwin%' OR title LIKE '% Steven Irwin%' ИЛИ ​​выдержка LIKE '% Martin Skrtel%' ИЛИ ​​заголовок LIKE '% Martin Skrtel%' ИЛИ ​​выдержка LIKE '% Nathan Eccleston%' OR title LIKE '% Nathan Eccleston%' ИЛИ ​​выдержка LIKE '% Daniel Ayala%' ИЛИ ​​заголовок LIKE '% Daniel Ayala%' ИЛИ ​​выдержка LIKE '% Martin Hansen%' OR title LIKE '% Martin Hansen%' ИЛИ ​​выдержка LIKE '% Peter Gulacsi%' ИЛИ ​​заголовок LIKE '% Peter Gulacsi%' ИЛИ ​​выдержка LIKE '% Dean Bouzanis%' ИЛИ ​​титул LIKE '% Dean Bouzanis% 'ИЛИ выдержка LIKE'% Victor Palsson% 'OR title LIKE'% Victor Palsson% 'ИЛИ выдержка LIKE'% Tom Ince% ' ИЛИ заголовок LIKE '% Tom Ince%' ИЛИ ​​выдержка LIKE '% David Amoo%' ИЛИ ​​заголовок LIKE '% David Amoo%' ИЛИ ​​выдержка LIKE '% Andre Мудрость% 'ИЛИ титул LIKE'% Andre Мудрость% 'ИЛИ выдержка LIKE'% Херардо Бруна% 'ИЛИ титул LIKE'% Херардо Bruna% 'ИЛИ выдержка LIKE'% Jack Робинсон% 'ИЛИ название LIKE'% Jack Робинсон% 'ИЛИ выдержка LIKE '% liverpool%' ИЛИ ​​название LIKE '% liverpool%' ИЛИ ​​выдержка LIKE '% lfc%' ИЛИ заголовок LIKE '% lfc%'

  • 2
    И святая корова, это не может быть эффективным запросом. Похоже, вы могли бы извлечь большую пользу из нормализации.
  • 0
    извините за это, просто прочитайте ваше сообщение в блоге, я не понял, что должен был принять и ответить, и я не мог голосовать за него с низким репутацией. Я вернусь и приму ответы на мои предыдущие вопросы
Теги:

1 ответ

0
Лучший ответ

Проблема заключается в этой строке:

$sql_query_holder="\"".$sql_query_holder."\"";

Ваш script не выводит весь запрос, только часть его, который затем изменяет. Неудивительно, что вы не могли понять, что не так.

Выполняется запрос:

SELECT * FROM fm_sources WHERE "excerpt LIKE '%Roy Hodgson%' OR title LIKE '%Roy Hodgson%' <etc etc> " ORDER BY tweet_count DESC

Вам не нужны эти дополнительные перевернутые запятые

Ещё вопросы

Сообщество Overcoder
Наверх
Меню