Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2008-02-20 15:52:12

Serious Nick
Гость

[search.php] - проблемма с выводом результатов в виде постов

Честно пытался найти ответ на этом и других ресурсах - не получилось.

При поиске и выводе результатов в виде постов возникает следующая проблемма:

File: ...forum/search.php
Line: 480

PunBB reported: Unable to fetch search results 

Database reported: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.last_post, t.last_post_id, t.last_poster, t.num_replies, t.forum_id FROM posts ' at line 1 (Errno: 1064)

Не совем понимаю в чем суть ошибки.
Буду признателен за помощь :-)

#2 2008-02-20 18:50:06

Slavik
Гость

Re: [search.php] - проблемма с выводом результатов в виде постов

Откуда брал форум? После чего такая ошибка? 480 строку в студию.

#3 2008-02-20 19:44:28

Serious Nick
Гость

Re: [search.php] - проблемма с выводом результатов в виде постов

Slavik пишет:

Откуда брал форум? После чего такая ошибка? 480 строку в студию.

Строка 480:   

$result = $db->query($sql) or error('Unable to fetch search results', __FILE__, __LINE__, $db->error());

Раньже жаловался на ошибку на строке 400:

$db->query('DELETE FROM '.$db->prefix.'search_cache WHERE ident NOT IN('.implode(',', $old_searches).')') or error('Unable to delete search results', __FILE__, __LINE__, $db->error());

Но потом почему то перекинулся на 480ю.

Откуда форум и как давно ошибка, я честно говоря не знаю - администратором стал относительно недавно, а после предыдущей команды админов, форум пребывает в мягко говоря не лучшем состоянии технически...

Версия 1.2.16

#4 2008-02-20 20:30:25

Slavik
Гость

Re: [search.php] - проблемма с выводом результатов в виде постов

Serious Nick пишет:

Строка 480:

начиная примерно с 454 строки должно быть что то похожее на это:

        if ($show_as == 'posts')
        {
            $substr_sql = ($db_type != 'sqlite') ? 'SUBSTRING' : 'SUBSTR';
            $sql = 'SELECT p.id AS pid, p.poster AS pposter, p.posted AS pposted, p.poster_id, '.$substr_sql.'(p.message, 1, 1000) AS message, t.id AS tid, t.poster, t.subject, t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.forum_id FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'topics AS t ON t.id=p.topic_id WHERE p.id IN('.$search_results.') ORDER BY '.$sort_by_sql;
        }

показывай

#5 2008-02-20 20:37:40

Serious Nick
Гость

Re: [search.php] - проблемма с выводом результатов в виде постов

Slavik пишет:
Serious Nick пишет:

Строка 480:

начиная примерно с 454 строки должно быть что то похожее на это:

показывай

Вот:

if ($show_as == 'posts')
        {
            $substr_sql = ($db_type != 'sqlite') ? 'SUBSTRING' : 'SUBSTR';
            $sql = 'SELECT p.id AS pid, p.poster AS pposter, p.posted AS pposted, p.poster_id, '.$substr_sql.'(p.message, 1, 1000) AS message, t.id AS tid, t.poster, t.subject, t.question t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.forum_id FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'topics AS t ON t.id=p.topic_id WHERE p.id IN('.$search_results.') ORDER BY '.$sort_by_sql;
        }
        else
            $sql = 'SELECT t.id AS tid, t.poster, t.subject, t.last_post, t.last_post_id, t.last_poster, t.num_replies, t.closed, t.forum_id FROM '.$db->prefix.'topics AS t WHERE t.id IN('.$search_results.') ORDER BY '.$sort_by_sql;

        // Determine the topic or post offset (based on $_GET['p'])
        $per_page = ($show_as == 'posts') ? $pun_user['disp_posts'] : $pun_user['disp_topics'];
        $num_pages = ceil($num_hits / $per_page);

        $p = (!isset($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $num_pages) ? 1 : $_GET['p'];
        $start_from = $per_page * ($p - 1);

        // Generate paging links
        $paging_links = $lang_common['Pages'].': '.paginate($num_pages, $p, 'search.php?search_id='.$search_id);


        $sql .= ' '.$sort_dir.' LIMIT '.$start_from.', '.$per_page;

        $result = $db->query($sql) or error('Unable to fetch search results', __FILE__, __LINE__, $db->error());

        $search_set = array();
        while ($row = $db->fetch_assoc($result))
            $search_set[] = $row;

        $db->free_result($result);

        $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_search['Search results'];
        require PUN_ROOT.'header.php';


?>
<div class="linkst">
    <div class="inbox">
        <p class="pagelink"><?php echo $paging_links ?></p>
    </div>
</div>

<?php

        //Set background switching on for show as posts
        $bg_switch = true;

#6 2008-02-20 21:15:03

Slavik
Гость

Re: [search.php] - проблемма с выводом результатов в виде постов

запятую после t.question поставь

#7 2008-02-20 23:41:08

Serious Nick
Гость

Re: [search.php] - проблемма с выводом результатов в виде постов

Slavik

Спасибо огромное. :-)

Слона то я и не заметил.

Сабж закрыт :=)

#8 2008-12-18 16:38:16

eda026
Гость

Re: [search.php] - проблемма с выводом результатов в виде постов

Slavik пишет:

запятую после t.question поставь

Кстати, эта ошибка заложена в файле readme.txt к моду Easy-Polls 1.1.3, который я скачала с панреса. После установки мода перестал работать поиск, вместо результатов выдавало в точности ту же ошибку, что у автора темы.  Только с помощью вашей и поиска по форуму удалось вылечить.

Спасибо smile

#9 2008-12-18 18:23:08

coordinator
Гость

Re: [search.php] - проблемма с выводом результатов в виде постов

eda026 пишет:

Easy-Polls 1.1.3

Лучше бы поставили версию 2.0. Значительно удобнее в последующих модернизациях!

#10 2008-12-19 19:44:26

eda026
Гость

Re: [search.php] - проблемма с выводом результатов в виде постов

Спасибо, посмотрю. Просто 1.1.3 была на панресе в списке самых популярных проектов, вот я и подумала грешным делом, что раз она самая предпочитаемая, то наверное самая лучшая. smile

Редактировался eda026 (2008-12-19 19:55:44)

Подвал доски

Под управлением FluxBB. Хостинг Hostens