Перейти к контенту
  • 0

Ошибка портала Mysql


bartik

Вопрос

mySQL query error: SELECT t.tid, t.title, t.state, t.last_vote, p.*, v.member_id as member_voted

FROM 1ibf_topics t, 1ibf_polls p

LEFT JOIN 1ibf_voters v ON (v.member_id=1 and v.tid=t.tid)

WHERE t.tid=191 AND p.tid=t.tid

 

mySQL error: Unknown column 't.tid' in 'on clause'

mySQL error code:

Date: Friday 27th 2006f January 2006 05:33:00 PM

 

Вот такая вот ошибка вылезла когда набрал свой сайт (на главной стандартный портал , который идёт вместе с ipb2.0.3 , помогите а то сайт стоит , юзал оптимизация и чинение таблиц но там пишет что все таблы в норме , произошло это после обновление php сейчас на сервере 5.1.2 :D

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

ALTER TABLE `1ibf_topics` ADD `tid` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ;

 

В следущий раз осторожнее эксперементируйте с базой - все топики у Вас потеряли свой ID.. очень плохо.

 

PS: Что это за портал такой - MySQL???

Ссылка на комментарий
Поделиться на других сайтах

  • 0

bartik, не слушай этого балбеса и не выполняй этот код ;)

 

тебе надо исправить запрос на такой:

 

SELECT t.tid, t.title, t.state, t.last_vote, p.*, v.member_id as member_voted
FROM (1ibf_topics t, 1ibf_polls p)
LEFT JOIN 1ibf_voters v ON (v.member_id=1 and v.tid=t.tid)
WHERE t.tid=191 AND p.tid=t.tid

 

ищи в коде запросы, в которых участвует LEFT JOIN и используются несколько таблиц в FROM. ставь все таблицы, которые используются в FROM в скобки. по примеру, который я дал выше.

 

Destruction, осторожнее с такими запросами :D если бы у чувака не было этой колонки, ошибка была бы другая.

 

 

добавлено позже:

 

bartik, если быть конкретнее, то ищи в файле sources/sql/mysql_queries.php следующий код:

 

	function portal_get_poll_join( $a )
{
	return "SELECT t.tid, t.title, t.state, t.last_vote, p.*, v.member_id as member_voted
			FROM ".SQL_PREFIX."topics t, ".SQL_PREFIX."polls p
			LEFT JOIN ".SQL_PREFIX."voters v ON (v.member_id={$a['mid']} and v.tid=t.tid)
			WHERE t.tid={$a['tid']} AND p.tid=t.tid";
}

и исправляй на этот:

	function portal_get_poll_join( $a )
{
	return "SELECT t.tid, t.title, t.state, t.last_vote, p.*, v.member_id as member_voted
			FROM (".SQL_PREFIX."topics t, ".SQL_PREFIX."polls p)
			LEFT JOIN ".SQL_PREFIX."voters v ON (v.member_id={$a['mid']} and v.tid=t.tid)
			WHERE t.tid={$a['tid']} AND p.tid=t.tid";
}

это исправит твою текущую ошибку.

но могут быть и другие ошибки по той же причине, так что советую прошарить файлы в директории sources/sql и исправить подобный код.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Спасибо я поправил , но вот возникла новая бага , при загрузке пишется

 

mySQL query error: SELECT COUNT(DISTINCT(t.tid)) as tcnt, 
			COUNT(DISTINCT(p.pid)) as pcnt FROM 1ibf_posts p, 1ibf_topics t WHERE p.post_date > AND p.topic_id=t.tid

mySQL error: 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 'AND p.topic_id=t.tid' at line 3
mySQL error code: 
Date: Saturday 28th 2006f January 2006 12:38:46 AM

 

Помогите пожалуйста ..... :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

2.silent, не обзывайся.

 

Всем свойственно ошибаться. Был бы балбесом - врятли составил грамотный запрос.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

вот тут дело уже посерьезнее. у тебя дата не передается в запрос.

в стандартном форуме вообще такого запроса не нашел :D

 

Destruction, я мстю и мстя моя страшна. квиты?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вот так вот , портал у меня unreal 2.0.4 всё работало пока хостер не перешёл на новый php , так я и думал мне здесь не помогут....

Вот код портала , может мне ктонибудь поможет бесплатно , а то вм нету.... :D

<?php

/*

''~``

( o o )

+------------------.oooO--(_)--Oooo.------------------+

| Unreal Portal v2.0.4 |

| .oooO |

| ( ) Oooo. |

+---------------------\ (----( )--------------------+

\_) ) /

(_/

 

 

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

|The Logo Looks Best in Courier New|

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 

---====---

Unreal Portal v2.0.4

By Cricket

*/

 

$idx = new uportal;

 

class uportal

{

var $output = "";

var $uportal = "";

var $page_title = "";

var $nav = array();

var $html = "";

var $parser = "";

var $data = array();

var $read_array = array();

var $forumid = array();

var $forumname = array();

var $day_words = array();

var $bday_cache = array();

 

 

function uportal()

{

global $ibforums, $DB, $std, $print, $skin_universal;

 

//--------------------------------------------

// Require the HTML and language modules

//--------------------------------------------

 

$ibforums->lang = $std->load_words($ibforums->lang, 'lang_uportal',

$ibforums->lang_id );

 

$this->html = $std->load_template('skin_uportal');

 

require ROOT_PATH."sources/lib/post_parser.php";

 

$this->parser = new post_parser();

 

require ROOT_PATH.'sources/lib/boardstats_functions.php';

 

$this->statfunc = new boardstats_functions();

 

$this->statfunc->register_class( $this );

 

// 'read' topics

if ( $read = $std->my_getcookie('topicsread') )

$this->read_array = unserialize(stripslashes($read));

 

//Caching Everything

 

if((!is_array($ibforums->cache['uportal_blocks'])) and

!count($ibforums->cache['uportal_blocks']))

{

$ibforums->cache['uportal_blocks'] = array();

$DB->query("select * from ibf_unrealportal order by order2 ASC");

while($Data = $DB->fetch_row())

$ibforums->cache['uportal_blocks'][] = $Data;

 

$std->update_cache( array( 'name' => 'uportal_blocks', 'array' => 1,

'deletefirst' => 1 ) );

}

 

if((!is_array($ibforums->cache['uportal_settings'])) and

!count($ibforums->cache['uportal_settings']))

{

$ibforums->cache['uportal_settings'] = array();

$DB->query("select * from ibf_up_settings order by name ASC");

 

while($Data = $DB->fetch_row())

$ibforums->cache['uportal_settings'][] = $Data;

 

$std->update_cache( array( 'name' => 'uportal_settings', 'array' => 1,

'deletefirst' => 1 ) );

}

 

if((!is_array($ibforums->cache['uportal_custblocks'])) and

!count($ibforums->cache['uportal_custblocks']))

{

$ibforums->cache['uportal_custblocks'] = array();

$DB->query("select * from ibf_up_custblocks");

 

while($Data = $DB->fetch_row())

$ibforums->cache['uportal_custblocks'][] = $Data;

 

$std->update_cache( array( 'name' => 'uportal_custblocks', 'array' => 1,

'deletefirst' => 1 ) );

}

 

if((!is_array($ibforums->cache['uportal_content'])) and

!count($ibforums->cache['uportal_content']))

{

$ibforums->cache['uportal_blocks'] = array();

$DB->query("select * from ibf_up_custcontent");

 

while($Data = $DB->fetch_row())

$ibforums->cache['uportal_content'][] = $Data;

 

$std->update_cache( array( 'name' => 'uportal_content', 'array' => 1,

'deletefirst' => 1 ) );

}

 

//Portal Blocks

 

foreach($ibforums->cache['uportal_blocks'] as $Data)

{

$GLOBALS['block'][$Data['name']] = $Data['show'];

$blocks[$Data['name']] = $Data['align'];

}

 

//Portal Settings

 

foreach($ibforums->cache['uportal_settings'] as $Data)

{

$GLOBALS['setting'][$Data['name']] = $Data['value'];

}

 

 

//Custom Blocks

 

foreach($ibforums->cache['uportal_custblocks'] as $Data)

{

$this->data[$Data['name']]=$this->do_customblocks($Data);

}

 

//Custom Content

 

if($_GET['code'] != null)

{

foreach($ibforums->cache['uportal_content'] as $Data)

{

if($Data['name'] == $_GET['code'])

{

$content = $Data;

break;

}

}

 

$contentname = $content['name'];

$contenttitle = $content['title'];

$contenthtml = $content['html'];

 

if($content != null)

$this->data[$contentname] =

$this->do_content($contentname, $contenttitle, $contenthtml);

}

 

//Gather information

$this->data['navigation'] = $this->do_navigation();

$this->data['websearch'] = $this->do_websearch();

$this->data['jokes'] = $this->do_jokes();

$this->data['site_search'] = $this->do_site_search();

 

//Stats Start

 

if($GLOBALS['block']['stats'])

{

//-----------------------------------

// Add in show online users

//-----------------------------------

 

if($GLOBALS['setting']['activemembers'])

$stats_html .= $this->statfunc->active_users();

 

//-----------------------------------

// Are we viewing the calendar?

//-----------------------------------

 

if($GLOBALS['setting']['calendar_events'])

{

$stats_html .= $this->statfunc->show_calendar_events();

}

 

//-----------------------------------

// Add in show stats

//-----------------------------------

 

if($GLOBALS['setting']['post_stats'])

$stats_html .= $this->statfunc->show_totals();

 

$stats_html = str_replace('<br>', '<br/>', $stats_html);

 

 

if ($stats_html != "")

{

$this->data['stats'] .=

$this->html->block_header($this->collapse("board_stats"),

"board_stats");

$this->data['stats'] .= $stats_html;

$this->data['stats'] .= $this->html->block_footer();

}

}

 

//Stats End

 

$this->data['news'] = $this->do_news();

$this->data['old_news'] = $this->do_old_news();

$this->data['latest_posts_big'] = $this->do_latest_posts();

$this->data['latest_posts'] = $GLOBALS['return']['latest_posts'];

$this->data['new_posts_big'] = $this->do_new_posts_big();

$this->data['top_posters'] = $this->do_top_posters();

$this->data['new_members'] = $this->do_new_members();

$this->data['top_forums'] = $this->do_top_forums();

$this->data['loginbox'] = $this->do_loginbox();

$this->data['welcomepanel'] = $this->do_welcomepanel();

$this->data['calendar'] = $this->do_calendar();

$this->data['custom_content'] = $this->do_custom_content();

$this->data['announcement'] = $this->do_announcement();

$announcement = $this->data['announcement'];

$this->data['latest_downloads'] = $this->latest_downloads();

$this->data['latest_news'] = $this->latest_news();

 

$count = 0;

 

// IF there is an poll selected, give it here:

if ($GLOBALS['setting']['poll']!=0)

$this->data['poll'] = $this->do_poll($GLOBALS['setting']['poll']);

else

$this->data['poll']="";

 

//Displaying Blocks

 

if($blocks != null)

foreach($blocks as $Data['name'] => $Data['align'])

{

if($GLOBALS['setting']['left'] == "0%" and

$GLOBALS['setting']['right'] != "0%" and $_GET['code'] == null)

{

if($Data['align'] == 'left' or $Data['align'] == 'right')

$rightboxes .= $this->data[$Data['name']];

else if($Data['align'] == 'middle')

{

if($Data['name'] == "news")

{

$middleboxes.= $this->data['news'];

}

else

$middleboxes .= $this->data[$Data['name']];

}

}

 

else if($GLOBALS['setting']['right'] == "0%" and

$GLOBALS['setting']['left'] != "0%" and $_GET['code'] == null)

{

if($Data['align'] == 'left' or $Data['align'] == 'right')

$leftboxes .= $this->data[$Data['name']];

else if($Data['align'] == 'middle')

{

if($Data['name'] == "news")

{

$middleboxes.= $this->data['news'];

}

else

$middleboxes .= $this->data[$Data['name']];

}

}

 

else if($GLOBALS['setting']['left'] == "0%" and

$GLOBALS['setting']['right'] == "0%" and $_GET['code'] == null)

{

if($Data['align'] == 'middle')

{

if($Data['name'] == "news")

{

$middleboxes.= $this->data['news'];

}

else

$middleboxes .= $this->data[$Data['name']];

}

}

 

else if($GLOBALS['setting']['left'] != "0%" and

$GLOBALS['setting']['right'] != "0%" and $_GET['code'] == null)

{

if($Data['align'] == 'left')

$leftboxes .= $this->data[$Data['name']];

else if($Data['align'] == 'right')

$rightboxes .= $this->data[$Data['name']];

else if($Data['align'] == 'middle')

{

if($Data['name'] == "news")

{

$middleboxes.= $this->data['news'];

}

else

$middleboxes .= $this->data[$Data['name']];

}

}

 

else if($GLOBALS['setting']['leftcustom'] == "0%" and

$GLOBALS['setting']['rightcustom'] != "0%" and $_GET['code'] != null)

{

if($Data['align'] == 'left' or $Data['align'] == 'right')

$rightboxes .= $this->data[$Data['name']];

else if($Data['align'] == 'middle')

{

if($Data['name'] == "news")

{

$middleboxes.= $this->data[$_GET['code']];

}

else

$middleboxes .= $this->data[$Data['name']];

}

}

 

else if($GLOBALS['setting']['rightcustom'] == "0%" and

$GLOBALS['setting']['leftcustom'] != "0%" and $_GET['code'] != null)

{

if($Data['align'] == 'left' or $Data['align'] == 'right')

$leftboxes .= $this->data[$Data['name']];

else if($Data['align'] == 'middle')

{

if($Data['name'] == "news")

{

$middleboxes.= $this->data[$_GET['code']];

}

else

$middleboxes .= $this->data[$Data['name']];

}

}

 

else if($GLOBALS['setting']['leftcustom'] == "0%" and

$GLOBALS['setting']['rightcustom'] == "0%" and $_GET['code'] != null)

{

if($Data['align'] == 'middle')

{

if($Data['name'] == "news")

{

$middleboxes.= $this->data[$_GET['code']];

}

else

$middleboxes .= $this->data[$Data['name']];

}

}

 

else if($GLOBALS['setting']['leftcustom'] != "0%" and

$GLOBALS['setting']['rightcustom'] != "0%" and $_GET['code'] != null)

{

if($Data['align'] == 'left')

$leftboxes .= $this->data[$Data['name']];

else if($Data['align'] == 'right')

$rightboxes .= $this->data[$Data['name']];

else if($Data['align'] == 'middle')

{

if($Data['name'] == "news")

{

$middleboxes.= $this->data[$_GET['code']];

}

else

$middleboxes .= $this->data[$Data['name']];

}

}

}

 

//The Widths

 

if($GLOBALS['setting']['left'] == null)

$GLOBALS['setting']['left'] = "21%";

 

if($GLOBALS['setting']['middle'] == null)

$GLOBALS['setting']['middle'] = "51%";

 

if($GLOBALS['setting']['right'] == null)

$GLOBALS['setting']['right'] = "21%";

 

if($GLOBALS['setting']['leftcustom'] == null)

$GLOBALS['setting']['leftcustom'] = "21%";

 

if($GLOBALS['setting']['middlecustom'] == null)

$GLOBALS['setting']['middlecustom'] = "51%";

 

if($GLOBALS['setting']['rightcustom'] == null)

$GLOBALS['setting']['rightcustom'] = "21%";

 

if($_GET['code'] != null)

{

$GLOBALS['setting']['left'] = $GLOBALS['setting']['leftcustom'];

$GLOBALS['setting']['middle'] = $GLOBALS['setting']['middlecustom'];

$GLOBALS['setting']['right'] = $GLOBALS['setting']['rightcustom'];

}

 

// render the portal

 

$output = $this->html->render_top($leftboxes, $announcement);

 

$output .= $this->html->render_middle($middleboxes);

 

$output .= $this->html->render_bottom($rightboxes);

 

$output .= "

<table cellpadding='0' cellspacing='0' border='0' width='100%' align='center'>

<tr>

<td align='center'>";

 

$toout =

base64_decode('UG93ZXJlZCBieSBVbnJlYWwgUG9ydGFsIHYyLjAuNCCpIDIwMDUgPGEgaHJlZj0

naHR0cDovL3d3dy51bnJlYWwtc29sdXRpb25zLm9yZycgdGFyZ2V0PSdfYmxhbmsnPlVucmVhbCBTb

2x1dGlvbnMuPC9hPg==');

 

$output .= "

</td>

</tr>

</table>";

 

if($ibforums->lang[base64_decode('Y29weXJpZ2h0')] != $toout)

{

$ibforums->lang['john'] =

base64_decode('UGxlYXNlIGRvIG5vdCBlZGl0IHRoZSBwb3J0YWwgY29weXJpZ2h0Lg==');

$std->Error( array( LEVEL => 1, MSG => 'john') );

}

 

$output .= "<div align='center'>$toout</div>";

 

$this->output = $output;

 

// done

$this->page_title = $ibforums->vars['board_name'];

$this->nav= array( $ibforums->lang['page_title'] );

 

$print->add_output("$this->output");

$print->do_output( array( 'TITLE' => $this->page_title, 'JS' => 0, NAV =>

$this->nav ) );

}

 

//*********************************************/

// Collapse

//*********************************************/

 

function collapse($name)

{

global $DB, $ibforums, $std;

 

$collapsed_ids = ','.$std->my_getcookie('collapseprefs').',';

 

$show['div_fo'] = 'show';

$show['div_fc'] = 'none';

 

if ( strstr( $collapsed_ids, $name ) )

{

$show['div_fo'] = 'none';

$show['div_fc'] = 'show';

}

 

return $show;

}

 

//*********************************************/

// Announcement

//*********************************************/

 

function do_announcement()

{

global $DB, $ibforums, $std, $HTTP_POST_VARS;

 

if (($GLOBALS['setting']['announcement']) and

($GLOBALS['setting']['announcement_text']))

{

 

//doHTML

$GLOBALS['setting']['announcement_text'] =

$this->parser->post_db_parse_html($GLOBALS['setting']['announcement_text']);

 

$output .= $this->html->block_header($this->collapse("announcement"),

"announcement");

$output .= $this->html->announcement();

$output .= $this->html->block_footer();

return $output;

}

else

return '';

}

 

//*********************************************/

// Show Calendar

//*********************************************/

function do_calendar()

{

global $std, $DB, $ibforums;

 

if (!($GLOBALS['block']['calendar']))

return '';

 

$ibforums->vars['bday_show_cal_max'] = 5;

 

//-----------------------------------------

// Prep our chosen dates

//-----------------------------------------

 

// There is something whacky with getdate and GMT

// This handrolled method seems to take into account

// DST where getdate refuses.

 

$a = explode( ',', gmdate( 'Y,n,j,G,i,s', time() + $std->get_time_offset() ) );

 

$this->now_date = array(

'year' => $a[0],

'mon' => $a[1],

'mday' => $a[2],

'hours' => $a[3],

'minutes' => $a[4],

'seconds' => $a[5]

);

 

if ( $ibforums->input['year'] )

{

$ibforums->input['y'] = $ibforums->input['year'];

}

 

$this->chosen_month = $this->now_date['mon'];

$this->chosen_year = $this->now_date['year'];

 

//-----------------------------------------

// Get the timestamp for our chosen date

//-----------------------------------------

 

$this->our_datestamp = mktime( 0,0,1, $this->chosen_month, 1, $this->chosen_year);

$this->first_day_array = getdate($this->our_datestamp);

 

//-----------------------------------------

// Finally, build up the lang arrays

//-----------------------------------------

 

$this->day_words = array( "S", "M", "T", "W", "T", "F", "S" );

 

return $this->get_mini_calendar( $this->chosen_month, $this->chosen_year );

}

 

function get_mini_calendar($month, $year)

{

global $ibforums, $DB, $std;

 

foreach ($this->day_words as $day)

{

$cal_output .= $this->html->mini_cal_day_bit( substr($day,0,1) );

}

 

//-----------------------------------------

// Print the main calendar body

//-----------------------------------------

 

$cal_output .= $this->get_month_events( $month, $year, 1 );

 

return $this->html->mini_cal_mini_wrap($this->collapse("calendar"),"calendar",

$cal_output);

}

 

function _get_events_sql($month, $year)

{

global $ibforums, $DB, $std;

 

$timenow = mktime( 0, 0, 1 , $month, 1, $year);

$timethen = mktime( 23, 59, 59, $month, 0, $year);

 

//-----------------------------------------

// Get the events

//-----------------------------------------

 

if ( ! is_array( $this->query_event_cache[ $month ] ) )

{

$DB->simple_construct( array( 'select' => '*',

'from' => 'calendar_events',

'where' => "event_repeat <> 1 AND month={$month} AND year={$year}

OR (event_ranged=1 AND

( unix_stamp < $timenow AND end_unix_stamp > $timenow ) )

OR (event_repeat=1 AND ( repeat_unit IN ('w','m') OR

(repeat_unit='y' AND month={$month}) ) )" ) );

$DB->simple_exec();

 

while ( $r = $DB->fetch_row() )

{

$this->query_event_cache[ $month ][] = $r;

}

}

}

 

function _get_birthday_sql($month)

{

global $ibforums, $DB, $std;

 

if ( ! is_array( $this->bday_cache[ $month ] ) )

{

&nbsp

Ссылка на комментарий
Поделиться на других сайтах

  • 0

У меня та же трабла что и у bartik

 

только вот заметил особенность...

зарегестрированные пользователи могут без проблем входить на портал в отличии от гостей..помогите пожалуйста !

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.