Fixed Unknown column 'pfd.pf_phpbb_website' in 'field list'

Affected version
XenForo Importers 1.3.0, XenForo 2.1.6 Patch 1

Plati

Member
After an import from my phpBB 3.2 forum with the new importer I got the following server error log in the admin control panel:

  • XF\Db\Exception: MySQL statement prepare error [1054]: Unknown column 'pfd.pf_phpbb_website' in 'field list'
  • src/XF/Db/AbstractStatement.php:228



Stack trace

SELECT users., pfd., ban.*, users.user_id, 1 AS user_dst,
pfd.pf_phpbb_website AS user_website,
pfd.pf_phpbb_interests AS user_interests,
pfd.pf_phpbb_location AS user_from
FROM phpbb3_users AS users
LEFT JOIN phpbb3_profile_fields_data AS pfd ON
(pfd.user_id = users.user_id)
LEFT JOIN phpbb3_banlist AS ban ON
(ban.ban_userid = users.user_id AND (ban.ban_end = 0 OR ban.ban_end > ?))
WHERE users.user_id > ? AND users.user_id <= ?
AND users.user_type <> 2
ORDER BY users.user_id
LIMIT 500

------------

#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL statement...', 1054, '42S22')
#1 src/XF/Db/Mysqli/Statement.php(40): XF\Db\Mysqli\Statement->getException('MySQL statement...', 1054, '42S22')
#2 src/XF/Db/Mysqli/Statement.php(54): XF\Db\Mysqli\Statement->prepare()
#3 src/XF/Db/AbstractAdapter.php(94): XF\Db\Mysqli\Statement->execute()
#4 src/XF/Db/AbstractAdapter.php(165): XF\Db\AbstractAdapter->query('
SELECT user...', Array)
#5 src/addons/XFI/Import/Importer/PhpBb.php(608): XF\Db\AbstractAdapter->fetchAllKeyed('
SELECT user...', 'user_id', Array)
#6 src/XF/Import/Runner.php(231): XFI\Import\Importer\PhpBb->stepUsers(Object(XF\Import\StepState), Array, 8)
#7 src/XF/Import/Runner.php(59): XF\Import\Runner->runStep('users', Object(XF\Import\StepState), 8)
#8 src/XF/Admin/Controller/Import.php(234): XF\Import\Runner->run()
#9 src/XF/Mvc/Dispatcher.php(350): XF\Admin\Controller\Import->actionRun(Object(XF\Mvc\ParameterBag))
#10 src/XF/Mvc/Dispatcher.php(262): XF\Mvc\Dispatcher->dispatchClass('XF:Import', 'run', Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\Import), NULL)
#11 src/XF/Mvc/Dispatcher.php(113): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\Import), NULL)
#12 src/XF/Mvc/Dispatcher.php(55): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#13 src/XF/App.php(2184): XF\Mvc\Dispatcher->run()
#14 src/XF.php(391): XF\App->run()
#15 admin.php(13): XF::runApp('XF\\Admin\\App')
#16 {main}




Request state

array(4) {
["url"] => string(43) "/xenforo.domain.de/admin.php?import/run"
["referrer"] => string(60) "http://domain.de/xenforo.domain.de/admin.php?import/"
["_GET"] => array(1) {
["import/run"] => string(0) ""
}
["_POST"] => array(1) {
["_xfToken"] => string(8) "********"
}
}
 

XF Bug Bot

XenForo bug fixer bot
Staff member
Thank you for reporting this issue, it has now been resolved. We are aiming to include any changes that have been made in a future XFI release (1.3.1).

Change log:
Prevent an error when importing from phpBB if one of the expected profile fields has been deleted.
There may be a delay before changes are rolled out to the XenForo Community.
 

Mike

XenForo developer
Staff member
I've attached a version of the phpBB importer with the fix so that anyone with this issue can workaround it. The attached file replaces the existing src/addons/XFI/Import/Importer/PhpBb.php file.
 

Attachments

Top