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

Plati

Member
Affected version
XenForo Importers 1.3.0, XenForo 2.1.6 Patch 1
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) "********"
}
}
 
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.
 
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 Bottom