Despite applying the 'thread.lastpost' fix mentioned here, I kept getting the following error every so often (a few times a day, and only when 'power forum users' tried to play with the thread display options at the bottom of the page), when using mySQL 4.0.13 and PHP 4.3.2:
Code:
Database error in vBulletin 2.3.0:
Invalid SQL:
SELECT
thread.threadid FROM thread
LEFT JOIN user ON (thread.postuserid = user.userid)
WHERE thread.forumid = 18
AND thread.sticky=0
AND thread.visible=1
AND thread.lastpost >= 1045766820
ORDER BY sticky DESC, lastpost DESC
LIMIT 25,25
mysql error: Column: 'lastpost' in order clause is ambiguous
mysql error number: 1052
Date: Saturday 31st of May 2003 07:47:00 PM
Script: http://www.ummah.com/forum/forumdisp...e=100&x=13&y=9
I fixed it by adding the following line of code before the database query:
PHP Code:
if ($sortfield == 'lastpost') {
$sortfield = 'thread.lastpost';
}
So now the DB query code block looks like this (my secret ban usergroup is 104):
PHP Code:
// bismillah, add secret ban hack
if ($sortfield == 'lastpost') {
$sortfield = 'thread.lastpost';
}
$getthreadids=$DB_site->query("
SELECT
".iif($sortfield=="voteavg",$votequery,"")."
thread.threadid FROM thread
LEFT JOIN user ON (thread.postuserid = user.userid)
WHERE thread.forumid = $foruminfo[forumid]
AND thread.sticky=0
".iif(in_array($bbuserinfo[usergroupid], array(5,6,7,104)), "", "AND user.usergroupid != 104 ") . "
AND thread.visible=1
$datecut
$limitothers
ORDER BY sticky DESC, $sortfield $sqlsortorder
LIMIT ".($sel_limitlower-1).",$perpage");
// end secret ban hack
I just thought I'd post this in case anyone else is getting the same error.