PDA

View Full Version : private.php mysql error


jluerken
04-25-2005, 06:10 AM
Hi,

I updated from 3.4.1 to 3.4.6 this weekend and now everytime I write a PM I get this error:

Database error in vBulletin 3.0.7:

Invalid SQL: SELECT username FROM vb3_user WHERE userid=
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 '' at line 1

mysql error number: 1064

Date: Monday 25th of April 2005 09:09:11 AM
Script: http://www.url.com/forum/private.php
Referer: http://www.url.com/forum/private.php?do=newpm&u=1681
Username: abc


Can you assist?

I restored a backup file and made the changed again.

I could make all changes except the one from 3.4.5 to 3.4.6

Also, edit your private.php file and find:

if ($bbuserinfo['userid'] == $vboptions['warn_collector'])
{
$sender=$pm['sender'];

Replace that with:

if ($bbuserinfo['userid'] == $vboptions['warn_collector'] AND $pm['sender']!='')
{
$sender=$pm['sender'];


I could not find the line. Could you please give me some more lines below or above so that I can check again?

All I found was:
1:

if ($bbuserinfo['userid'] == $vboptions['warn_collector'])
{
$dualid=1;
$dual_option='';


and
2:

// insert private message text
if ($bbuserinfo['userid'] == $vboptions['warn_collector'] AND $pm['sender']!='')
{
$sender=$pm['sender'];



Within point two the change is already done.

Please help me!

sv1cec
04-25-2005, 09:36 AM
Well, the changes were supposed to be applied in sequence, so here is what your private.php should look like in those areas:


// set up for PM reply / forward
if ($_REQUEST['pmid'])
{
if ($pm = $DB_site->query_first("
SELECT pm.*, pmtext.*
FROM " . TABLE_PREFIX . "pm AS pm
LEFT JOIN " . TABLE_PREFIX . "pmtext AS pmtext ON(pmtext.pmtextid = pm.pmtextid)
WHERE pm.userid=$bbuserinfo[userid] AND pm.pmid=" . intval($_REQUEST['pmid']) . "
"))
{
if ($bbuserinfo['userid'] == $vboptions['warn_collector'])
{
$dualid=1;
$dual_option='';
$dual_option.="<option value='{$bbuserinfo['userid']}'>User name: {$bbuserinfo['username']} - User ID: {$bbuserinfo['userid']} (your own)</option>";
if ($vboptions['warn_warner']!='')
{
$w1=$DB_site->query_first("SELECT username FROM " . TABLE_PREFIX . "user WHERE userid=$vboptions[warn_warner]");
$dual_option.="<option value='{$vboptions['warn_warner']}'>User name: {$w1['username']} - User ID: {$vboptions['warn_warner']} (Hidden Warner)</option>";
}
if ($vboptions['warn_automatic_warner']!='')
{
$w1=$DB_site->query_first("SELECT username FROM " . TABLE_PREFIX . "user WHERE userid=$vboptions[warn_automatic_warner]");
$dual_option.="<option value='{$vboptions['warn_automatic_warner']}'>User name: {$w1['username']} - User ID: {$vboptions['warn_automatic_warner']} (Automatic Warner)</option>";
}
}
else
{
$dualid=0;
}
// quote reply
$originalposter = fetch_quote_username($pm['fromusername']);

// allow quotes to remain with an optional request variable
// this will fix a problem with forwarded PMs and replying to them
if ($_REQUEST['stripquote'])
{
$pagetext = strip_quotes($pm['message']);
}
else
{
// this is now the default behavior -- leave quotes, like vB2
$pagetext = $pm['message'];
}
$pagetext = trim(htmlspecialchars_uni($pagetext));

eval('$pm[message] = "' . fetch_template('newpost_quote', 1, 0) . '";');

// work out FW / RE bits


and


warn_notify($thread1, $thread2, $bbuserinfo, $warnerdata['email'], $warnerdata['username'], $vboptions['warn_automatic_warner'], $warn_type, $level, $wcomment, $alert);
}
}
// End of automated warnings things
// I hope it works OK.
$message=$pm_message;
// insert private message text

if ($bbuserinfo['userid'] == $vboptions['warn_collector'] and $pm['sender']!='')
{
$sender=$pm['sender'];
$w1=$DB_site->query_first("SELECT username FROM " . TABLE_PREFIX . "user WHERE userid=$sender");
$sendername=$w1[username];
$DB_site->query("INSERT INTO " . TABLE_PREFIX . "pmtext\n\t(fromuserid, fromusername, title, message, touserarray, iconid, dateline, showsignature, allowsmilie)\nVALUES\n\t($sender, '" . addslashes($sendername) . "', '$title', '$message', '" . addslashes(serialize($tostring)) . "', $iconid, " . TIMENOW . ", $signature, $disablesmilies)");
}
else
{
$DB_site->query("INSERT INTO " . TABLE_PREFIX . "pmtext\n\t(fromuserid, fromusername, title, message, touserarray, iconid, dateline, showsignature, allowsmilie)\nVALUES\n\t($bbuserinfo[userid], '" . addslashes($bbuserinfo['username']) . "', '$title', '$message', '" . addslashes(serialize($tostring)) . "', $iconid, " . TIMENOW . ", $signature, $disablesmilies)");
}

// get the inserted private message id
$pmtextid = $DB_site->insert_id();

// save a copy into $bbuserinfo's sent items folder
if ($pm['savecopy'])
{
$DB_site->query("INSERT INTO " . TABLE_PREFIX . "pm (pmtextid, userid, folderid, messageread) VALUES ($pmtextid, $bbuserinfo[userid], -1, 1)");
$DB_site->shutdown_query("UPDATE " . TABLE_PREFIX . "user SET pmtotal=pmtotal+1 WHERE userid=$bbuserinfo[userid]");
}


Locate those areas and use the code above.

Rgds