Renommer le nom du champ dans la sortie :
$sql = "SELECT p.id,
p.name,
p.description,
p.price,
c.name AS OTHER_NAME,
p.sub
FROM products p
JOIN category c on p.category = c.id
ORDER by p.id";
Et obtenez ensuite OTHER_NAME