Как найти однофамильцев на php?
В целом не такая тривиальная задача, чтоб решать одной строкой. По сути нужно каждую фамилию привести к мужскому варианту. Изучить правила образований и склонений фамилий, там не так и много получится. Например, -ова(-ева) в конце заменить на  -ов(-ев). -ко, -чук оставить без изменений и так далее. Фамилии, являющиеся одновременно словарными именами существительными, тоже оставить без изменений. Ну и составлять словарь исключений, без него тоже не обойтись, скорее всего. А потом уже делать строгое сравнение мужских вариантов фамилий.
Тут вопрос скорее к лингвистам чем к программистам, определитесь с алгоритмом формирования "однофамилий" для ЛЮБОЙ фамили, после этого запрос составить будет уже проще чем 2 байта переслать. Реально - достаточно по фамили определить окончания, отделить их и получить корень фамилиии и максимальную длину возможных строк фамилии: $DB->exec("SELECT *
FROM `table` 
WHERE `lastname` LIKE '?%'  
and CHAR_LENGTH(`lastname`) < ?", array($lastNameRoot,$lastNameMaxLenght));