I've enabled the built-in User Profiles in Joomla 2.5.24 to provide some additional fields on the registration page. Three of the fields are enabled.

When I attempt to register as a user on the site, the registration page displays properly, but when I submit the registration, I get the following error.

Registration failed: Column count doesn't match value count at row 1 SQL=INSERT INTO macu_user_profiles VALUES (50070, 'profile.phone', '\"6135260737\"', 1), (50070, 'profile.website', '\"testing\"', 2), (50070, 'profile.favoritebook', '\"test\"', 3)

The user is added to the registration database but their profile information is obviously not. They do not receive their validation email.

If I don't have the profile plug-in enabled, registration works fine.

Solution

This appears to be a bug in the code.

The solution was to edit: /plugins/user/profile.php

Locate

$db->setQuery('INSERT INTO #__user_profiles VALUES '.implode(', ', $tuples));

around line 281and change it to

$db->setQuery('INSERT INTO #__user_profiles (`user_id`, `profile_key`, `profile_value`, `ordering`) VALUES '.implode(', ', $tuples));

Registration should now work.