Matheus, primeiro obrigado pela atenção.
Bem, com relação ao primeiro ponto, quando coloco o número 2, por exemplo, no lugar do da variável '{$id}' na query, ele retorna certinho apenas os detalhes do pedido 2, tanto no cmd como na página.
Quanto ao segundo ponto que você sugeriu, fazendo o teste no cmd, deixando a variável '{$id}", ele retorna "0" (zero). Mas, se eu colocar left join, ele retorna todos os registros de detalhes de todos os pedidos.
Quanto à sua terceira sugestão, não sei se fiz certo, mas na página anterior que encaminha para este formulário do pedido, eu coloquei um INPUT para cada variável ($id e $detalhesdopedido) desta forma:
E na página do pedido é apresentado o valor de cada variável corretamente.
Fiz mais um teste colocando "echo query" antes do retorno desta função e como resultado é apresentado nulo no lugar da variável. Desta forma:
select p.id, dp.* from detalhesdopedido as dp left join pedidos as p ON p.id = dp.pedido_id AND dp.pedido_id = ' '
Posso estar enganado, mas acredito ser algum erro de sintaxe muito bobo... O que você acha?