1530c1530
<     $fids = '';
---
>     $fids = array();
1533,1538c1533
<         if (!empty($fids)) {
<           $fids .= "OR fid='" . $field->fid . "'";
<         }
<         else {
<           $fids = "fid='" . $field->fid . "'";
<         }
---
>           $fids[] = $field->fid;
1542c1537
<       $result = db_query_range("SELECT u.uid, CONCAT(u.name,' (',value,')') as name FROM {users} u LEFT JOIN {profile_values} v ON u.uid=v.uid WHERE (LOWER(name) LIKE LOWER('%%%s%%') or LOWER(value) LIKE LOWER('%%%s%%')) AND ( " . $fids . " OR fid IS NULL)", check_plain($string), check_plain($string), 0, 10);
---
>       $result = db_query_range("SELECT u.uid, CONCAT(u.name,' (',value,')') as name FROM users AS u JOIN (SELECT uid, GROUP_CONCAT(value SEPARATOR ', ' ) as value FROM profile_values WHERE fid IN (" . db_placeholders($fids,'int') . ") GROUP BY (uid)) AS pv ON u.uid=pv.uid WHERE (LOWER(name) LIKE LOWER('%%%s%%') or LOWER(value) LIKE LOWER('%%%s%%')) ", $fids, check_plain($string), check_plain($string), 0, 10);
1549a1545
>         $patron->name=str_replace(', , ',', ', $patron->name);

