Na sua consulta;
SELECT *
FROM phonetype
LEFT JOIN phone
ON phonetype.phonetypeID=phone.phonetypeID
where phone.peopleID = ?
...o
WHERE cláusula com uma condição na tabela mais à direita removerá todas as linhas onde a tabela mais à direita não tem valor, negando o LEFT JOIN . O que você provavelmente quer é adicionar a condição ao
LEFT JOIN 's ON cláusula em vez disso, permitindo os valores vazios de phone ainda aparecer; SELECT *
FROM phonetype
LEFT JOIN phone
ON phonetype.phonetypeID=phone.phonetypeID
AND phone.peopleID = ?