// schreibst, bzw. die Zeile vorübergehend löschst?Wo wird $data definiert?
Oder andere Idee:
Könntest du deine memberlist.php hier per Pastebin hochladen. Dann kann ich selbst mal vergleichen.
// schreibst, bzw. die Zeile vorübergehend löschst?memberlist.php?mode=searchuser -> Suche) kommt folgende Fehlermeldung:Ich kann da nur schwer durchsteigen, verstehe auch nicht, warum 'u.user_id' dort nicht gefunden wird, bin also quasi mit meinem Latein am Ende, dass ohnehin nur sehr gering ist.SQL ERROR [ mysqli ]
Unknown column 'u.user_id' in 'on clause' [1054]
SQL
SELECT u.user_id FROM phpbb_users u , phpbb_user_group ug LEFT JOIN phpbb_profile_fields_data fd ON (u.user_id = fd.user_id) WHERE u.user_type IN (0, 3, 1) AND u.user_id = ug.user_id AND ug.group_id = 51 AND ug.user_pending = 0 ORDER BY u.user_regdate ASC LIMIT 50
BACKTRACE
[...]
FILE: [ROOT]/memberlist.php
LINE: 1571
CALL: phpbb\db\driver\factory->sql_query_limit()
/memberlist.php, /styles/prosilver/template/memberlist_body.html, /styles/prosilver/template/memberlist_search.html und /language/de/common.php mit meinen Modifikationen zu vergleichen. Man muss das Rad ja nicht zweimal erfinden. Ich hab auch ein benutzerdefiniertes Profilfeld mit dem Namen "location_mysearch" eingerichtet. Die Änderungen von 3.2.10 nach 3.3.1 sind, so weit ich das beurteilen kann, nicht so bedeutsam für diese Problematik. Das sollte sich gut übertragen lassen.Code: Alles auswählen
		// Get us some users :D
		
		       if(isset($sort_key_sql['n'])) {
             $sql = "SELECT u.user_id
                     FROM (" . USERS_TABLE . " u
                     $sql_from)
                     LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd 
					 ON (u.user_id = fd.user_id)
                     WHERE (" . $db->sql_in_set('u.user_type', $user_types) . "
                     $sql_where)
                     ORDER BY $order_by";
          } else {
          
          $sql = "SELECT u.user_id
             FROM " . USERS_TABLE . " u
                $sql_from
             WHERE " . $db->sql_in_set('u.user_type', $user_types) . "
                $sql_where
             ORDER BY $order_by";
             }
          $result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);Code: Alles auswählen
// Get us some users :D
		$sql = "SELECT u.user_id
		
			FROM (" . USERS_TABLE . " u
				$sql_from)
				LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd ON (u.user_id = fd.user_id)
			WHERE " . $db->sql_in_set('u.user_type', $user_types) . "
				$sql_where
			ORDER BY $order_by";
		$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);
		$user_list = array();
		while ($row = $db->sql_fetchrow($result))
		{
			$user_list[] = (int) $row['user_id'];
		}
		$db->sql_freeresult($result);
		// Load custom profile fields
		if ($config['load_cpf_memberlist'])
		{
			/* @var $cp \phpbb\profilefields\manager */
			$cp = $phpbb_container->get('profilefields.manager');
			$cp_row = $cp->generate_profile_fields_template_headlines('field_show_on_ml');
			foreach ($cp_row as $profile_field)
			{
				$template->assign_block_vars('custom_fields', $profile_field);
			}
		}
Code: Alles auswählen
// Get us some users :D
		$sql = "SELECT u.user_id
		
			FROM (" . USERS_TABLE . " u
				$sql_from)
				LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd ON (u.user_id = fd.user_id)
			WHERE " . $db->sql_in_set('u.user_type', $user_types) . "
				$sql_where
			ORDER BY $order_by";
		$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);
		$user_list = array();
		while ($row = $db->sql_fetchrow($result))
		{
			$user_list[] = (int) $row['user_id'];
		}
		$db->sql_freeresult($result);
		// Load custom profile fields
		if ($config['load_cpf_memberlist'])
		{
			/* @var $cp \phpbb\profilefields\manager */
			$cp = $phpbb_container->get('profilefields.manager');
			$cp_row = $cp->generate_profile_fields_template_headlines('field_show_on_ml');
			foreach ($cp_row as $profile_field)
			{
				$template->assign_block_vars('custom_fields', $profile_field);
			}
		}
Code: Alles auswählen
 	case 'livesearch':
		$username_chars = $request->variable('username', '', true);
		$sql = 'SELECT username, user_id, user_colour
			FROM ' . USERS_TABLE . '
			WHERE ' . $db->sql_in_set('user_type', $user_types) . '
				AND username_clean ' . $db->sql_like_expression(utf8_clean_string($username_chars) . $db->get_any_char());
		$result = $db->sql_query_limit($sql, 10);
		$user_list = array();
		while ($row = $db->sql_fetchrow($result))
		{
			$user_list[] = array(
				'user_id'		=> (int) $row['user_id'],
				'result'		=> $row['username'],
				'username_full'	=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),
				'display'		=> get_username_string('no_profile', $row['user_id'], $row['username'], $row['user_colour']),
			);
		}
		$db->sql_freeresult($result);
		$json_response = new \phpbb\json_response();
		$json_response->send(array(
			'keyword' => $username_chars,
			'results' => $user_list,
		));
	break;Code: Alles auswählen
	case 'livesearch':
		$username_chars = $request->variable('username', '', true);
		$sql = 'SELECT username, u.user_id, user_colour, pf_plz_wohnort
			FROM ' . USERS_TABLE . ' u			
			LEFT JOIN ' . PROFILE_FIELDS_DATA_TABLE . ' fd ON (u.user_id = fd.user_id)
				WHERE ' . $db->sql_in_set('user_type', $user_types) . '
				AND username_clean ' . $db->sql_like_expression(utf8_clean_string($username_chars) . $db->get_any_char());
		$result = $db->sql_query_limit($sql, 10);
		$user_list = array();
		while ($row = $db->sql_fetchrow($result))
		{
			$user_list[] = array(
				'user_id'		=> (int) $row['user_id'],
				'result'		=> $row['username'],
				'plz_wohnort'	=> $row['pf_plz_wohnort'],
				'username_full'	=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),
				'display'		=> get_username_string('no_profile', $row['user_id'], $row['username'], $row['user_colour'], $row['pf_plz_wohnort']),
			);
		}
		
		$db->sql_freeresult($result);
		$json_response = new \phpbb\json_response();
		$json_response->send(array(
			'keyword' => $username_chars,
			'results' => $user_list,
		));
	break;Code: Alles auswählen
		// Sorting
		$sort_key_text = array('a' => $user->lang['SORT_USERNAME'], 'c' => $user->lang['SORT_JOINED'], 'd' => $user->lang['SORT_POST_COUNT']);
		$sort_key_sql = array('a' => 'u.username_clean', 'c' => 'u.user_regdate', 'd' => 'u.user_posts');Code: Alles auswählen
		// Sorting
		$sort_key_text = array('a' => $user->lang['SORT_USERNAME'], 'c' => $user->lang['SORT_JOINED'], 'd' => $user->lang['SORT_POST_COUNT'], 'n' => $user->lang['SORT_PLZ_WOHNORT']);
		$sort_key_sql = array('a' => 'u.username_clean', 'c' => 'u.user_regdate', 'd' => 'u.user_posts', 'n' => 'u.plz_wohnort');
		$sort_key_text['n'] = $user->lang['PLZ_WOHNORT'];
		$sort_key_sql['n'] = 'pf_plz_wohnort';Code: Alles auswählen
		// Search URL parameters, if any of these are in the URL we do a search
		$search_params = array('username', 'email', 'jabber', 'search_group_id', 'joined_select', 'active_select', 'count_select', 'joined', 'active', 'count', 'ip');Code: Alles auswählen
		// Search URL parameters, if any of these are in the URL we do a search
		$search_params = array('username', 'plz_wohnort', 'email', 'jabber', 'search_group_id', 'joined_select', 'active_select', 'count_select', 'joined', 'active', 'count', 'ip');Code: Alles auswählen
			$username	= $request->variable('username', '', true);Code: Alles auswählen
			$plz_wohnort        =  $request->variable('plz_wohnort', '', true . '*');Code: Alles auswählen
			$sql_where .= ($username) ? ' AND u.username_clean ' . $db->sql_like_expression(str_replace('*', $db->get_any_char(), utf8_clean_string($username))) : '';Code: Alles auswählen
			$sql_where .= mb_strtolower($plz_wohnort) ? ' AND LOWER(pf_plz_wohnort) ' . $db->sql_like_expression(str_replace('*', $db->get_any_char(), utf8_clean_string($plz_wohnort))) . ' ' : '';Code: Alles auswählen
		// Count the users ...
		$sql = 'SELECT COUNT(u.user_id) AS total_users
			FROM ' . USERS_TABLE . " u$sql_from
			WHERE " . $db->sql_in_set('u.user_type', $user_types) . "
			$sql_where";
		$result = $db->sql_query($sql);
		$total_users = (int) $db->sql_fetchfield('total_users');
		$db->sql_freeresult($result);Code: Alles auswählen
		// Count the users ...
		$sql = 'SELECT COUNT(u.user_id) AS total_users
			FROM (' . USERS_TABLE . " u 
			$sql_from)
			LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd 
			ON (u.user_id = fd.user_id)
			WHERE (" . $db->sql_in_set('u.user_type', $user_types) . "
			$sql_where)";
		$result = $db->sql_query($sql);
		$total_users = (int) $db->sql_fetchfield('total_users');
		$db->sql_freeresult($result);Code: Alles auswählen
			'username'		=> array('username', '', true),Code: Alles auswählen
			'plz_wohnort'	=> array('plz_wohnort', '', true. '*'),Code: Alles auswählen
				'USERNAME'	=> $username,Code: Alles auswählen
				'PLZ_WOHNORT'	=> $plz_wohnort,Code: Alles auswählen
		// Get us some users :D
		$sql = "SELECT u.user_id
			FROM " . USERS_TABLE . " u
				$sql_from
			WHERE " . $db->sql_in_set('u.user_type', $user_types) . "
				$sql_where
			ORDER BY $order_by";
		$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);Code: Alles auswählen
		// Get us some users :D
		
		       if(isset($sort_key_sql['n'])) {
             $sql = "SELECT u.user_id
                     FROM (" . USERS_TABLE . " u
                     $sql_from)
                     LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd 
					 ON (u.user_id = fd.user_id)
                     WHERE (" . $db->sql_in_set('u.user_type', $user_types) . "
                     $sql_where)
                     ORDER BY $order_by";
          } else {
          
          $sql = "SELECT u.user_id
             FROM " . USERS_TABLE . " u
                $sql_from
             WHERE " . $db->sql_in_set('u.user_type', $user_types) . "
                $sql_where
             ORDER BY $order_by";
             }
          $result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);Code: Alles auswählen
					'S_INACTIVE'		=> $row['user_type'] == USER_INACTIVE,Code: Alles auswählen
					'S_PLZ_WOHNORT'	=> (isset($cp_row['row']) && sizeof($cp_row['row'])) ? true : false,Code: Alles auswählen
			'U_SORT_USERNAME'		=> $sort_url . '&sk=a&sd=' . (($sort_key == 'a' && $sort_dir == 'a') ? 'd' : 'a'),Code: Alles auswählen
			'U_SORT_PLZ_WOHNORT'		=> $sort_url . '&sk=n&sd=' . (($sort_key == 'n' && $sort_dir == 'a') ? 'd' : 'a'),Code: Alles auswählen
	'LOCATION'							=> 'Wohnort',Code: Alles auswählen
	'PLZ_WOHNORT'                 => 'PLZ Wohnort',
	'SORT_PLZ_WOHNORT'                 => 'PLZ',Code: Alles auswählen
		<table class="table1 memberlist" id="memberlist">
		<thead>
		<tr>
			<th class="name" data-dfn="{L_RANK}{L_COMMA_SEPARATOR}<!-- IF S_SHOW_GROUP and .memberrow -->{L_GROUP_LEADER}<!-- ELSE -->{L_USERNAME}<!-- ENDIF -->"><span class="rank-img"><a href="{U_SORT_RANK}">{L_RANK}</a></span><a href="{U_SORT_USERNAME}"><!-- IF S_SHOW_GROUP and .memberrow -->{L_GROUP_LEADER}<!-- ELSE -->{L_USERNAME}<!-- ENDIF --></a></th>
			<th class="posts"><a href="{U_SORT_POSTS}#memberlist">{L_POSTS}</a></th>
			<th class="info"><!-- BEGIN custom_fields --><!-- IF not custom_fields.S_FIRST_ROW -->{L_COMMA_SEPARATOR} <!-- ENDIF -->{custom_fields.PROFILE_FIELD_NAME}<!-- END custom_fields --></th>
			<th class="joined"><a href="{U_SORT_JOINED}#memberlist">{L_JOINED}</a></th>
			<!-- IF U_SORT_ACTIVE --><th class="active"><a href="{U_SORT_ACTIVE}#memberlist">{L_LAST_ACTIVE}</a></th><!-- ENDIF -->
			{% EVENT memberlist_body_memberlist_after %}
		</tr>
		</thead>
		<tbody>Code: Alles auswählen
		<table class="table1 memberlist" id="memberlist">
		<thead>
		<tr>
			<th class="name" data-dfn="{L_RANK}{L_COMMA_SEPARATOR}<!-- IF S_SHOW_GROUP and .memberrow -->{L_GROUP_LEADER}<!-- ELSE -->{L_USERNAME}<!-- ENDIF -->"><span class="rank-img"><a href="{U_SORT_RANK}">{L_RANK}</a></span><a href="{U_SORT_USERNAME}"><!-- IF S_SHOW_GROUP and .memberrow -->{L_GROUP_LEADER}<!-- ELSE -->{L_USERNAME}<!-- ENDIF --></a></th>
			<th class="posts"><a href="{U_SORT_POSTS}#memberlist">{L_POSTS}</a></th>
			<!-- IF U_SORT_PLZ_WOHNORT --><th class="info"><a href="{U_SORT_PLZ_WOHNORT}#memberlist">{L_PLZ_WOHNORT}</a></th><!-- ENDIF -->
			<th class="joined"><a href="{U_SORT_JOINED}#memberlist">{L_JOINED}</a></th>
			<!-- IF U_SORT_ACTIVE --><th class="active"><a href="{U_SORT_ACTIVE}#memberlist">{L_LAST_ACTIVE}</a></th><!-- ENDIF -->
			{% EVENT memberlist_body_memberlist_after %}
		</tr>
		</thead>
		<tbody>Code: Alles auswählen
		<td class="info">
			{%- for field in memberrow.custom_fields -%}
				<div>{% if field.S_PROFILE_CONTACT %}<a href="{{ field.PROFILE_FIELD_CONTACT }}">{% endif %}{{ field.PROFILE_FIELD_VALUE }}{% if field.S_PROFILE_CONTACT %}</a>{% endif %}</div>
			{%- else -%}
				 
			{%- endfor -%}
		</td>Code: Alles auswählen
		<td class="info"><!-- IF memberrow.PROFILE_PLZ_WOHNORT_VALUE --><div>{memberrow.PROFILE_PLZ_WOHNORT_VALUE}</div><!-- ELSE --> <!-- ENDIF --></td>Code: Alles auswählen
<!-- IF S_EMAIL_SEARCH_ALLOWED -->Code: Alles auswählen
	<dl>
		<dt><label for="plz_wohnort">{L_PLZ_WOHNORT}{L_COLON}</label></dt>
		<dd><input type="text" name="plz_wohnort" id="plz_wohnort" value="{PLZ_WOHNORT}" class="inputbox" /></dd>
	</dl>