Fixed  member import error (dob_day)

majdi

Well-known member
When i try to import users from a vb installation I get the following error
Server Error

Mysqli statement execute error : Out of range value adjusted for column 'dob_day' at row 1
  1. Zend_Db_Statement_Mysqli->_execute()inZend/Db/Statement.phpat line297
  2. Zend_Db_Statement->execute()inZend/Db/Adapter/Abstract.phpat line479
  3. Zend_Db_Adapter_Abstract->query()inZend/Db/Adapter/Abstract.phpat line574
  4. Zend_Db_Adapter_Abstract->insert()inXenForo/DataWriter.phpat line1500
  5. XenForo_DataWriter->_insert()inXenForo/DataWriter.phpat line1489
  6. XenForo_DataWriter->_save()inXenForo/DataWriter.phpat line1291
  7. XenForo_DataWriter->save()inXenForo/Model/Import.phpat line415
  8. XenForo_Model_Import->importUser()inXenForo/Importer/vBulletin.phpat line859
  9. XenForo_Importer_vBulletin->_importUser()inXenForo/Importer/vBulletin.phpat line678
  10. XenForo_Importer_vBulletin->_importOrMergeUser()inXenForo/Importer/vBulletin.phpat line469
  11. XenForo_Importer_vBulletin->stepUsers()inXenForo/Importer/Abstract.phpat line77
  12. XenForo_Importer_Abstract->runStep()inXenForo/ControllerAdmin/Import.phpat line161
  13. XenForo_ControllerAdmin_Import->_runStep()inXenForo/ControllerAdmin/Import.phpat line213
  14. XenForo_ControllerAdmin_Import->_startStep()inXenForo/ControllerAdmin/Import.phpat line156
  15. XenForo_ControllerAdmin_Import->actionStartStep()inXenForo/FrontController.phpat line310
  16. XenForo_FrontController->dispatch()inXenForo/FrontController.phpat line132
  17. XenForo_FrontController->run()in/home/tunitech/domains/tunitech.net/public_html/xft2/admin.phpat line13

how can i fix it ??
 
I should be able to add code to prevent this in the future, but in the short term, you'll need to poke around in the vB database, the user table (I believe) with the birthday field. This should be in mm-dd-yyyy format. Somewhere, I think you'll have a day part that is bigger than 255.

If you're having trouble finding that (it could be any number of members), blanking out the value in the birthday field could help.

Moved to bugs to have the data writer prevent this.
 
Presumably, as the importer stopped at the erroneous record, then the last user in the xf_user table should point you to the offending user record in the vB database.

It should be the next one?
Of course there could be others but repeating the process should identify them.
 
there are many affected users, i have just updated them all to another date. the importer went fine.

for future reference:

UPDATE `xxxxx_xxx`.`user` SET `birthday` = 'xx-xx-xxxx',
`birthday_search` = 'xxxx-xx-x'
replace the x's with the wished figures.
 
Top Bottom