Dans votre requête ;
SELECT *
FROM phonetype
LEFT JOIN phone
ON phonetype.phonetypeID=phone.phonetypeID
where phone.peopleID = ?
...le WHERE
clause avec une condition sur la table la plus à droite supprimera toutes les lignes où la table la plus à droite n'a pas de valeur, annulant le LEFT JOIN
.
Ce que vous voulez probablement, c'est ajouter la condition au LEFT JOIN
est ON
clause à la place, autorisant les valeurs vides de phone
pour continuer à apparaître ;
SELECT *
FROM phonetype
LEFT JOIN phone
ON phonetype.phonetypeID=phone.phonetypeID
AND phone.peopleID = ?