-- É verdade que Bill Gates ganhou na loteria?
-- Sim, bem verdade. Só que não era Bill Gates, mas John Doe, não em uma loteria, mas black jack, não jackpot, mas $ 10 e não ganho, mas perdido.
Este "quase idêntico " estraga tudo. Para culpar o mysqli, você tem que executar exatamente a mesma consulta sem quaisquer suposições.
Na verdade, existe um programa PHP inteiro para construir sua consulta dinamicamente. Há certamente poderia haver erros nesse programa. Portanto, se sua consulta não for executada da maneira esperada, você deve verificar o resultado do programa, a saber - a própria consulta.
Você já teve a ideia de ecoar a consulta resultante, em vez de executá-la? Só para ter certeza de que é realmente a consulta que você espera? Se não - é hora de fazê-lo.
E, claro, deve ser um conjunto exato de consultas, não diferente das que você executa manualmente.
Se você for mesmo executando exatamente o mesmo estático consulta do mysqli e o resultado é diferente de qualquer outro cliente - então você está se conectando a diferentes servidores com esses clientes. Enquanto o mysqli nunca interferirá em suas consultas. Você pode ter certeza disso.