habe ein problem in einer forensoftware. und zwar liefert folgende funktion unter php 5 /mysql 5 die darunter stehende fehlermeldung. kann mir jemd. sagen was ich da anpassen muss, damit es auch unter php 5 bzw mysql 5 l�uft? unter den jeweiligen 4er versionen läufts nämlich...
danke ich vorraus,rieso
Code:
function fetch_style(){
global $db,$tpl,$thread,$options,$session,$_REQUEST;
if(isset($_REQUEST['thread_id'])) $thread_id=intval($_REQUEST['thread_id']);
else $thread_id=0;
if(isset($_REQUEST['post_id'])) $post_id=intval($_REQUEST['post_id']);
else $post_id=0;
if(!$thread_id&&!$post_id) $tpl->noaccess();
$thread=$db->aquery("SELECT
f.name,f.forum_id,f.password,f.parent_id,f.iscat,f.isusercount,f.ismoderated,f.prefixe,f.style_id,f.language_id,
t.title,t.user_id,tp.post_id AS parent_id,tp.thread_id,t.isaccept,t.prefix,tp.post_id,t.post_id AS mainpost_id,t.status,f.updatetime,
p.replythread,p.allowprefix,p.parse,p.makeimportant,p.createattachment,p.createpoll,p.lockthread,p.closethread
".($session['user_id']!=-1?",favo.sendemail ":"").
($post_id&&!$thread_id?" FROM ".$db->prefix."_post tp
LEFT JOIN ".$db->prefix."_thread t USING(thread_id)":
($post_id?" FROM ".$db->prefix."_thread t
LEFT JOIN ".$db->prefix."_post tp ON(tp.post_id=".$post_id." AND tp.thread_id=".$thread_id.")":
"FROM ".$db->prefix."_thread t
LEFT JOIN ".$db->prefix."_post tp USING(post_id)"))."
LEFT JOIN ".$db->prefix."_forum f USING(forum_id)
LEFT JOIN ".$db->prefix."_pgroup g ON(g.pack_id=f.pack_id AND g.group_ids='".$session['group_ids']."')".
($options['useuserpermission']&&$session['user_id']!=-1?"LEFT JOIN ".$db->prefix."_puser u ON(u.pack_id=f.pack_id AND u.user_id=".$session['user_id'].") LEFT JOIN ".$db->prefix."_permission p ON(p.permission_id=IF(u.user_id,u.permission_id,g.permission_id))":"LEFT JOIN ".$db->prefix."_permission p ON(p.permission_id=g.permission_id)").
($session['user_id']!=-1?"LEFT JOIN ".$db->prefix."_threaduser favo ON(favo.thread_id=tp.thread_id AND favo.user_id=".$session['user_id'].")":"")."
WHERE ".($post_id&&!$thread_id?"tp.post_id=".$post_id:"t.thread_id=".$thread_id));
if($thread['style_id']) $session['style_id']=$thread['style_id'];
if($thread['language_id']) $session['language_id']=$thread['language_id'];
if(empty($thread['thread_id'])||$thread['iscat']) return 2;
if($thread['status']) return 2;
$this->fid=$thread['forum_id'];
$this->id=$thread['thread_id'];
return 1;
}
}
und hier die fehlermeldung:
Code:
SQL Error: Time: 2006-06-08 22:25 Number: 1052 URI: /test/reply.php?sid=&thread_id=1&post_id=1 Description: Column 'forum_id' in from clause is ambiguous Full Query: SELECT f.name,f.forum_id,f.password,f.parent_id,f.iscat,f.isusercount,f.ismoderated,f.prefixe,f.style_id,f.language_id, t.title,t.user_id,tp.post_id AS parent_id,tp.thread_id,t.isaccept,t.prefix,tp.post_id,t.post_id AS mainpost_id,t.status,f.updatetime, p.replythread,p.allowprefix,p.parse,p.makeimportant,p.createattachment,p.createpoll,p.lockthread,p.closethread ,favo.sendemail FROM dornlab2_thread t LEFT JOIN dornlab2_post tp ON(tp.post_id=1 AND tp.thread_id=1) LEFT JOIN dornlab2_forum f USING(forum_id) LEFT JOIN dornlab2_pgroup g ON(g.pack_id=f.pack_id AND g.group_ids='2,5')LEFT JOIN dornlab2_permission p ON(p.permission_id=g.permission_id)LEFT JOIN dornlab2_threaduser favo ON(favo.thread_id=tp.thread_id AND favo.user_id=1) WHERE t.thread_id=1